我们如何修复“宝石耙钩(1)有一个无效的gemspec”?

时间:2012-06-19 14:21:51

标签: rubygems

此问题来自有关用户。我们正在尝试使用rake-hooks gem,但是bundle install给了我们一个错误:

Unfortunately, the gem rake-hooks (1) has an invalid gemspec. As a result, Bundler cannot install this Gemfile. Please ask the gem author to yank the bad version to fix this issue. For more information, see http://bit.ly/syck-defaultkey.

我认为这对宝石所有者来说是一件简单的事情,所以我让他们知道这个问题(https://github.com/guillermo/rake-hooks/issues/10)。时间飞逝。我忘记了。

然后,又出现了需求。这次我分叉了项目并尝试了许多方法来解决它,包括通过bundle gem rake-hooks创建一个新的gemspec。我仍然收到同样的错误。

是什么给出的?一个新铸造的gemspec怎么可能无效? 您可以在https://gist.github.com/2954475

找到两个gemspecs

如果有人可以在https://github.com/guillermo/rake-hooks查看gemspec,我将非常感激。

谢谢,亚光

2 个答案:

答案 0 :(得分:0)

如果您使用的是bundler 1.1.x,则可能是问题

https://github.com/carlhuda/bundler/issues/1715

这就是解决方案:

bundle install --full-index

这似乎是bundler 1.1.x和Rubygems索引之间的问题。

答案 1 :(得分:0)

我的调查表明,rake-hooks的第1版导致了这个问题。在我调试之前,我没有意识到错误消息“rake-hooks(1)”中的“1”是版本号。缺少“.0”,如“1.0”,让我失望。

即使我们指定版本1.2.3或安装本地软件包,版本“1”也会影响我们,这似乎有点奇怪,但是...... Rubygems的人建议我们为rubygems提供违规版本。< / p>

我已经要求宝石主人提出违规版本。