我有一个在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 和不同宝石集的非轨道项目配合得很好。
谢谢!
我猜您更新了 RVM 并遇到了这个已知问题:https://github.com/37signals/pow/issues/271
最简单的解决方案是在项目目录中运行它:
rvm env . > .powenv
或:
cd /project/path # with .rvmrc
rvm env > .powenv
当我从 .rvmrc 更改为 .ruby-version 和 .ruby-gemset 文件时,我遇到了这个问题。
将您的 .powrc 文件更改为:
如果 [ -f "$rvm_path/scripts/rvm" ] && [ -f ".ruby-version" ] && [ -f ".ruby-gemset" ];然后 源 "$rvm_路径/脚本/RVM" RVM 使用 'cat .ruby-version'@'cat .ruby-gemset'fi
如果您使用的是 RVM,则必须在项目的根目录中添加一个名为".powenv"的文件,如下所述:
http://rvm.io/integration/pow
我一直在使用这个 .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!