2012-04-14 5 views
9

Octopress(http://octopress.org/)を稼働させようとしていますが、何か問題があります。 私はPOW(http://pow.cx/)を使用していますが、正しいRubyバージョンがロードされていないようです(RVMを使用)。Pow、RVMとZSHが連携していません

常にRVMのデフォルトルビバージョンを使用し、.rvmrcで指定されていないものを使用します。 RVMのデフォルトのRubyバージョンは、ruby-1.9.3-p125です。私.rvmrcファイルで

私はこれを持っている:1.9.2が指定されている場合、なぜそれが1.9.3-P125を使用している

LoadError: cannot load such file -- bundler/setup 
~/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
~/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
~/Sites/Lejnus/lejnus/config.ru:1:in `block in <main>' 
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/builder.rb:4:in `instance_eval' 
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/builder.rb:4:in `initialize' 
~/Sites/Lejnus/lejnus/config.ru:1:in `new' 
~/Sites/Lejnus/lejnus/config.ru:1:in `<main>' 
~/Library/Application  Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:50:in `eval' 
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:50:in `load_config' 
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:43:in `initialize' 
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:13:in `new' 
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/lib/nack/server.rb:13:in `run' 
~/Library/Application Support/Pow/Versions/0.3.2/node_modules/nack/bin/nack_worker:4:in `<main>' 

:私のサイトを訪問するときrvm use 1.9.2 私はブラウザにこのエラーが出ます私の.rvmrcファイル?私が1.9.2をデフォルトとして設定した場合、それはもちろん動作します...

私はこの魔法を実行し、正しいルビーバージョンを使用してはなりませんか?

+0

rbenvはrvmよりはるかに明確で簡単です。 rvmで火の周りのすべての私の踊りは成功しませんでしたが、一方でrbenvは単に動作します。 – frp

+0

zshの代わりにbashと同じ問題があるかどうか確認してください。 – frp

+0

私はbashで試しましたが、違いはありません。 – Linus

答えて

15

OK、POWがRVMから離れているようです。

私は根それが働いて得るために、私のプロジェクトでこれを実行するために必要な: rvm env . -- --env > .powenv

+1

私はこのコマンドを実行しようとしましたが、--env 'Unrecognized command line arguments(s):'でエラーが発生しました。 --env '(参照:' rvm usage ') '。それは普通ですか? –

+0

@ YannickSchall先週RVMをアップグレードしてからこのメッセージが表示されるまで、毎週このコマンドを使用しました。私は何とかサポートはこのオプションのために落ちたと思うが、私はそれについてのドキュメントを見つけることができません。 – jakeonrails

+0

私はプロジェクトのルートに.powrcを次のコードで追加して問題をソートしました。if [-f "$ rvm_path/scripts/rvm"] && [-f ".rvmrc"]; ソース "$ rvm_path/scripts/rvm" ソース ".rvmrc" fi' –

1

これは私のために問題を解決したものです:

rvm env -- `rvm current` > .powenv

あなたはまた、RVMフックを作成することができますas commented here)現在のルビーenvを変更すると.powenvを自動的に切り替えるためのものです。env:

 
# ~/.rvm/hooks/after_use_update_powrc 
for file in `ls ~/.pow/` ; do 
    POW_LINK_TARGET=`readlink ~/.pow/$file` 

    if [ `pwd` = $POW_LINK_TARGET ]; then 
    rvm env -- ``rvm current`` > .powenv 
    fi 
done 

それを実行可能にすることを忘れないでください:

chmod +x ~/.rvm/hooks/after_use_update_powrc

+0

こんにちはPavel、 'rvm env - \' rvm current \ ''と 'rvm env'の違いはありますか? 'rvm env> .powenv'を実行するだけで、うまく動作します。 –

+0

私はそれを試していません。これは私がどこかに読んで、それが働くことが確認されてから投稿したものです。しかし、両方のコマンドの出力に違いがあるかどうかを簡単にテストして調べることができます。 –

+0

私には違いはありませんでしたが、特定の状況に違いがあるかもしれません。 –

2

私は次のコード

if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".rvmrc" ]; then 
    source "$rvm_path/scripts/rvm" 
    source ".rvmrc" 
fi 

でプロジェクトのルートに.powrcを追加することによって、問題をソートしました[追加編集:これは、Pow documentationでお勧めします

関連する問題