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

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) 

就我所知,pow在另一个非Rails项目中与1.9.2和不同的gemset一起使用得很好。

谢谢!

4个回答

80

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

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

rvm env . > .powenv

或:

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

当我运行这个命令时,出现了“无法识别的命令行参数:'. '(请参见:'rvm usage')” 的错误提示。 - Zeiga
你使用的RVM版本是什么?更新它,它应该可以正常工作。 - mpapis
当我执行"rvm get latest"时,rvm 1.9.2显示"您已经拥有最新版本!",谢谢。 - Zeiga
那是旧版本,你需要使用 rvm get head 进行更新,或者直接运行安装程序 curl -L get.rvm.io | bash -s stable,确保在更新后运行一次 rvm reload - mpapis
谢谢,但是我在升级到1.14.5后仍然遇到了这个错误。 - Zeiga
4
应该使用命令“rvm env -- ruby-1.9.3-p194 > .powenv”进行操作。如果你有一个 gemset,则应该输入“rvm env -- ruby-1.9.3-p194@gemset > .powenv”。请注意,翻译过程中不会添加解释或其他内容。 - Nick Vanderbilt

6
我在从.rvmrc文件更改为 .ruby-version和.ruby-gemset文件时遇到了这个问题。
请更改您的.powrc文件:
如果 [ -f "$rvm_path/scripts/rvm" ] && [ -f ".ruby-version" ] && [ -f ".ruby-gemset" ]; then
  source "$rvm_path/scripts/rvm"
  rvm使用 `cat .ruby-version`@`cat .ruby-gemset`
fi

注意:本文中包含HTML标签,已保留。

6
如果您正在使用RVM,则需要按照此处描述的方式在项目根目录下添加名为“.powenv”的文件:http://rvm.io/integration/pow。请注意保留HTML标记。

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!)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接