web-dev-qa-db-ja.com

powのコメント:Bundler :: GemNotFound:どのソースでもrake-0.9.2.2が見つかりませんでした

Rails sで正常に動作するRailsアプリがありますが、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を使用する別の非Railsプロジェクトで問題なく動作します。

ありがとう!

32
rda3000

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

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

rvm env . > .powenv

または:

cd /project/path # with .rvmrc
rvm env > .powenv
81
mpapis

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

http://rvm.io/integration/pow

6
Cyril

.rvmrcから.Ruby-versionおよび.Ruby-gemsetファイルに変更したときにこの問題が発生しました。

.powrcファイルを次のように変更します。

 if [-f "$ rvm_path/scripts/rvm"] && [-f ".Ruby-version"] && [-f ".Ruby-gemset"]; then 
 source "$ rvm_path/scripts/rvm"
rvmuse` cat .Ruby-version` @ `cat .Ruby-gemset` 
 fi 
6
Greg Benedict

私はこの.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に感謝!)

3
Jo P