2012-03-13 9 views
1

私はMac OSで、私はSnow Leopardバージョン10.6.8を実行しています。 Rubyのインストールを管理するためにRVMを使用しています(Ruby on Railsフレームワークを使用しています)が、ログ内の出力を参照すると問題になります。ほとんどの場合、使用中の現在のバージョンに関連しています。エラーメッセージ。つまり、私は以前にターミナルウィンドウで以下のコマンドを実行しました。Rubyのバージョンの理解に問題がある

$ which ruby 
/<ABSOLUTE_PATH>/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 

$ rvm install 1.9.3 
Installing Ruby from source to: /<ABSOLUTE_PATH>/.rvm/rubies/ruby-1.9.3-p0, this may take a while depending on your cpu(s)... 
ruby-1.9.3-p0 - #fetching 
... 
Fetching yaml-0.1.4.tar.gz to /<ABSOLUTE_PATH>/.rvm/archives 
Extracting yaml-0.1.4.tar.gz to /<ABSOLUTE_PATH>/.rvm/src 
Configuring yaml in /<ABSOLUTE_PATH>/.rvm/src/yaml-0.1.4. 
Compiling yaml in /<ABSOLUTE_PATH>/.rvm/src/yaml-0.1.4. 
Installing yaml to /<ABSOLUTE_PATH>/.rvm/usr 
ruby-1.9.3-p0 - #configuring 
ruby-1.9.3-p0 - #compiling 
ruby-1.9.3-p0 - #installing 
Removing old Rubygems files... 
Installing rubygems-1.8.10 for ruby-1.9.3-p0 ... 
Installation of rubygems completed successfully. 
ruby-1.9.3-p0 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake). 
ruby-1.9.3-p0 - #importing default gemsets (/<ABSOLUTE_PATH>/.rvm/gemsets/) 
Install of ruby-1.9.3-p0 - #complete 

$ which ruby 
/<ABSOLUTE_PATH>/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 

$ rvm use --default 1.9.3 
Using /<ABSOLUTE_PATH>/.rvm/gems/ruby-1.9.3-p0 

$ which ruby 
/<ABSOLUTE_PATH>/.rvm/rubies/ruby-1.9.3-p0/bin/ruby 

ここまではOKです。私はthis question related to the DelayedJob gemでのように、いくつかのエラーを取得するとき

はしかし、私は、システムがまだRuby 1.9.2-p290を使用していることがログに表示:

# Note the 'ruby-1.9.2-p290' 
undefined method `send_register_email\' for #<Syck::DomainType:0x00000108e2f870>\n/<ABSOLUTE_PATH>/.rvm/gems/ruby-1.9.2-p290/gems/delayed_job-3.0.1/lib/delayed/performable_mailer.rb:6:in 
... 

間違っていますか?どうすれば問題を解決できますか?

+0

どのように遅延ジョブハンドラの 'script/delayed_job'または' rake jobs:work'を起動しましたか? – sarnold

+0

@sarnold - 私は開発モードですので、私は 'rake jobs:work'を使います。 – Backo

+0

'rvm use --default 1.9.3'を実行したのと同じシェルから実行しましたか?それとも別の殻からだったの?その他のシェルは、デフォルトのルビは何だと思いますか? – sarnold

答えて

1

as @sarnoldは、デーモンなどの長時間実行されているプロセスを再起動する必要があることを示唆しています。

もう1つは、cronタブで実行している場合、cronタスクが適切なユーザーとして実行されていることを確認することです。システム、ルート、またはRVMを設定していないユーザ以外のユーザにRVMを設定した場合は、システムルビーを使用します。

あなたは慎重に、これは簡単にルートとして実行されます

sudo rake some:task # that has to do something as root like open a low port or move a file 

これで発生し、右RVM調達を行うことはできません

注意「」アウト切り取ら。これを修正するには、

rvmsudo rake some:task 
関連する問題