8

「whenever gem」を使用すると、ログに次のエラーが表示されます。

/usr/bin/env: ruby: No such file or directory

ジョブを手動で実行すると機能します。すべてをRVMでインストールしました。

このコマンドを使用しwhichて Ruby インストールの場所を見つけたところ、次のようになりました。

kevin@lovely:/opt/personal$ which ruby
/home/kevin/.rvm/rubies/ruby-1.9.2-p290/bin/ruby

そして、 $PATH 変数をチェックしました。

kevin@lovely:/opt/personal$ echo $PATH
/home/kevin/.rvm/gems/ruby-1.9.2-p290/bin:/home/kevin/.rvm/gems/ruby-1.9.2-p290@global/bin:/home/kevin/.rvm/rubies/ruby-1.9.2-p290/bin:/home/kevin/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

これは正しく設定する必要があると思いますが、機能しないため、おそらく間違っています。誰かが私を正しい方向に向けることができますか?

興味があるなら、これは私のいつでもcrontabの出力です:

# Begin Whenever generated tasks for: rss
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash -l -c 'cd /opt/personal && script/rails runner -e development '\''FeedEntry.update_from_feed("http://lovely/blog/feed/")'\'' >> /opt/personal/log/feedzirra.log 2>&1'
4

5 に答える 5

7

あなたはおそらくこの問題をかなり過ぎていますが、将来の参考のために:

私は同様の問題を抱えていました

/usr/bin/env: ruby: No such file or directory

ファイル script\rails の最初の行が であることが判明しました。これは、ここで#!/usr/bin/env ruby1.9.1説明されているように、システムに ruby​​1.9.1 で呼び出すように指示します。しかし、それは私がインストールしたバージョンだったはずです。#!/usr/bin/env ruby1.9.3

これが将来誰かに役立つことを願っています:)

于 2012-08-13T19:12:22.550 に答える
4

私の問題は、rubyが/ usr / local / binにあり、ヘッドレスbashのパスにないことでした。だから私はschedule.rbでレーキタスクラインを作成しました:

job_type :rake, "cd :path && PATH=/usr/local/bin:$PATH RAILS_ENV=:environment bundle exec rake :task :output"
于 2012-09-11T23:58:30.147 に答える
1

本番環境でRVMとバンドラーを使用しているときはいつでも正常に使用しています。これがあなたを助けるかもしれない私のcapistranoセットアップの関連する部分です:

# rvm and bundler integration 
require 'rvm/capistrano'
require 'bundler/capistrano'

# RVM environment
set :rvm_ruby_string, "ruby-1.9.2@mygemset"

# crontab
set :whenever_roles, :cron
set :whenever_command, "bundle exec whenever"
set :whenever_environment, defer { stage }
require 'whenever/capistrano'

この:whenever_environment設定は、多段階の展開セットアップを使用しているためです。これを無視するか、必要に応じて設定に一致する文字列に設定できます。

この情報のほとんどは、READMEの「Capistranointegration」および「RVMIntegration」セクションヘッダーの下にあるwhenlygithubページにあります。

それがお役に立てば幸いです。

于 2011-12-04T19:35:12.573 に答える
0

Dukeとほぼ同じように問題を解決しました。$PATH 変数が機能していないことがわかりました。

sys_path = '/home/[user]/.rbenv/versions/[ruby_version]/bin'

job_type :runner,  "cd :path && PATH=#{sys_path} bin/rails runner -e :environment ':task' :output"
job_type :rake,    "cd :path && PATH=#{sys_path} :environment_variable=:environment bin/bundle exec rake :task --silent :output"
于 2016-10-05T14:24:38.040 に答える
0

これらのいずれもうまくいかない場合は、次を試してください。

gem install rails

これは私のために仕事をしました、それが役立つことを願っています!

于 2017-10-15T14:50:48.840 に答える