9

Octopress(http://octopress.org/)を機能させようとしていますが、いくつか問題があります。私はPOW(http://pow.cx/)を使用していますが、(RVMを使用して)正しいRubyバージョンをロードしていないようです。

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

私の.rvmrcファイルには次のようなものがありrvm use 1.9.2 ます。自分のサイトにアクセスすると、ブラウザで次のエラーが発生します。

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>'

.rvmrcファイルで1.9.2が指定されているのに、なぜ1.9.3-p125を使用しているのですか?1.9.2をデフォルトとして設定すると、もちろん機能します...

それは私のためにこの魔法をして、正しいルビーバージョンを使うことになっているのではないですか?

4

3 に答える 3

15

わかりました、捕虜がRVMから離れようとしているようです。

これを機能させるには、プロジェクトルートでこれを実行する必要がありました。 rvm env . -- --env > .powenv

于 2012-04-14T17:20:10.950 に答える
2

次のコードを使用して、プロジェクトのルートに.powrcを追加することで問題を分類しました

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

[編集して追加:これはPowのドキュメントで推奨されています]

于 2012-11-07T13:27:33.350 に答える
1

これが私にとっての問題を解決したものです:

rvm env -- `rvm current` > .powenv

現在のrubyenvを変更したときに、.powenvを自動的に切り替えるためのrvmフックここでコメント)を作成することもできます。

#〜/ .rvm / hooks / after_use_update_powrc
`ls〜/.pow/`のファイルの場合; 行う
  POW_LINK_TARGET = `readlink〜/ .pow / $ file`

  if [`pwd` = $ POW_LINK_TARGET]; それから
    rvm env-`` rvm current``> .powenv
  fi
終わり

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

chmod +x ~/.rvm/hooks/after_use_update_powrc

于 2012-11-06T11:48:08.433 に答える