每当我在rails中创建一个新项目时,"无效的gemspec in"和"Illformed requirements"(黄瓜问题)

Ada*_*amT 17 ruby-on-rails cucumber

每次我创建一个新项目时,我都会收到以下错误:

Adams-MacBook-Pro:for_testing adam$ rails new outsidein
Invalid gemspec in [/Users/adam/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]

Invalid gemspec in [/Users/adam/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]
Invalid gemspec in [/Users/adam/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/specifications/cucumber-1.0.4.gemspec]: Illformed requirement ["# 0.8.4"]

我已经更新了黄瓜和黄瓜铁路,但我得到了错误.我该怎么办?

mat*_*nne 63

您需要更新到最新版本的Rubygems,但您可能还需要删除旧版本的Rubygems上安装的任何gem.

如果你正在使用带有gemsets的rvm,这很容易:

$ rvm gemset empty
Run Code Online (Sandbox Code Playgroud)

现在您可以更新Rubygems:

$ gem update --system
Run Code Online (Sandbox Code Playgroud)

如果你因为它已经安装在你的gemset中而丢失了捆绑器,那么将它安装在全局gemset中,以便它适用于你所有的宝石集,好的:

$ rvm @global gem install bundler
Run Code Online (Sandbox Code Playgroud)

现在,您可以在闪亮的新Rubygems上的一个漂亮的干净宝石中重新安装所有宝石:

$ bundle
Run Code Online (Sandbox Code Playgroud)

现在开心?

  • 我认为这是`rvm gemset empty`. (3认同)

Lui*_*ena 9

RubyGems博客上最好地描述了这个问题:

http://blog.rubygems.org/2011/08/31/shaving-the-yaml-yak.html

TL; DR:gem update --system和gem update bundler

RubyGems 1.8.10解决了这个问题.


BF4*_*BF4 1

Cucumber-rails 0.3.2 要求 Cucumber > 0.8.0,但是当捆绑程序将我们从 0.10.2 更改为 1.04 时,它就崩溃了。需要像 0.10.2 这样的旧黄瓜,它就可以工作

宝石'黄瓜导轨','0.3.2' 宝石'黄瓜','0.10.2'