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 的非 Rails 项目配合得很好。

谢谢!

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

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

将您的 .powrc 文件更改为:

if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".ruby-version" ] && [ -f ".ruby-gemset" ]; 然后
  源“$rvm_path/scripts/rvm”
  rvm 使用 `cat .ruby-version`@`cat .ruby-gemset`
菲
于 2013-04-18T14:30:47.543 回答
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 回答