pow说:Bundler :: GemNotFound:在任何来源中都找不到rake-0.9.2.2

rda*_*000 32 ruby-on-rails rvm rack-pow

我有一个运行良好的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'
....
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这个应用程序中的.rvmrc文件指定1.9.3-p125:

which rake
.../.rvm/gems/ruby-1.9.3-p125/bin/rake
Run Code Online (Sandbox Code Playgroud)

这是我跑步时看到的bundle install:

Using rake (0.9.2.2) 
Run Code Online (Sandbox Code Playgroud)

FWIW,pow使用1.9.2和另一个gemset的另一个非rails项目可以正常工作.

谢谢!

mpa*_*pis 81

我想你更新了RVM并遇到了这个已知问题:https://github.com/37signals/pow/issues/271

最简单的解决方案是在项目目录中运行它:

rvm env . > .powenv
Run Code Online (Sandbox Code Playgroud)

要么:

cd /project/path # with .rvmrc
rvm env > .powenv
Run Code Online (Sandbox Code Playgroud)

  • 它应该是`rvm env - ruby​​-1.9.3-p194> .powenv`.如果你有一个gemset,那么把`rvm env - ruby​​-1.9.3-p194@gemset> .powenv` (4认同)

Gre*_*ict 6

当我从.rvmrc更改为.ruby-version和.ruby-gemset文件时遇到了这个问题.

将.powrc文件更改为:

if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".ruby-version" ] && [ -f ".ruby-gemset" ]; then
  source "$rvm_path/scripts/rvm"
  rvm use `cat .ruby-version`@`cat .ruby-gemset`
fi


Cyr*_*ril 6

如果您使用的是RVM,则必须在项目的根目录中添加名为".powenv"的文件,如下所述:

http://rvm.io/integration/pow