32

で正常に動作する Rails アプリがありますがrails s、pow を使用してロードしようとすると、次のエラーが発生します。

Bundler::GemNotFound: Could not find rake-0.9.2.2 in any of the sources
~/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/spec_set.rb:88:in `block in materialize'
~/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/spec_set.rb:82:in `map!'
~/.rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.22/lib/bundler/spec_set.rb:82:in `materialize'
....

奇妙なことに、このアプリの .rvmrc ファイルでは次のように指定されています1.9.3-p125

which rake
.../.rvm/gems/ruby-1.9.3-p125/bin/rake

実行すると次のように表示されますbundle install

Using rake (0.9.2.2) 

FWIW、pow は、1.9.2 と別の gemset を使用する別の非レール プロジェクトで問題なく動作します。

ありがとう!

4

4 に答える 4

81

RVM を更新して、この既知の問題に遭遇したと思います: https://github.com/37signals/pow/issues/271

最も簡単な解決策は、プロジェクト ディレクトリで実行することです。

rvm env . > .powenv

また:

cd /project/path # with .rvmrc
rvm env > .powenv
于 2012-04-25T08:38:52.190 に答える
6

RVM を使用している場合は、次の説明に従って、プロジェクトのルートに「.powenv」という名前のファイルを追加する必要があります。

http://rvm.io/integration/pow

于 2014-02-27T07:16:50.637 に答える
3

私はこの .powrc を使用しており、すべてのベースをうまくカバーしています:

if [ -f "$rvm_path/scripts/rvm" ]; then
  source "$rvm_path/scripts/rvm"

  if [ -f ".rvmrc" ]; then
    source ".rvmrc"
  fi

  if [ -f ".ruby-version" ]; then
    rvm use `cat .ruby-version`
  fi

  if [ -f ".ruby-gemset" ]; then
    rvm gemset use --create `cat .ruby-gemset`
  fi
fi

ここから取得https://gist.github.com/nbibler/5307941 (nbibler に感謝!)

于 2013-05-17T14:40:00.010 に答える