格式错误的版本号字符串

时间:2013-11-10 18:51:37

标签: ruby gem

我最近安装了一个我认为不恰当命名的宝石。我的安装认为版本号是“Epub”。 gem被称为“Simple Epub Creator-0.0.0.gem”。我现在已经做错了(使用空格),但现在我需要解决它。

现在每当我使用任何参数运行gem时,包括卸载,我都会得到这个。

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/version.rb:200:in `initialize': Malformed version number string Epub (ArgumentError)gem

只要我的手臂跟着堆栈跟踪。是否有一个优雅的解决方案,或者更好地采取“大锤”方法并核对安装,然后干净安装红宝石和我使用的所有宝石?

同样,无论我给出什么参数,gem都会给出完全相同的错误。

4 个答案:

答案 0 :(得分:1)

当我无意中在我正在构建的宝石上执行rake:install时,我遇到了类似的问题,但尚未为其分配版本号。使用任何命令运行gembundlerake会导致错误的版本号出现相同的错误。

对我有用的是手动删除.rvm文件夹中所有违规宝石的实例。就我而言,我有一个名为dogecoin-的宝石缺少版本后缀。因此cd进入我的.rvm目录并运行find . -path \*doge\* -delete让我恢复正常运行状态。

答案 1 :(得分:0)

我的预感是version.rb遍历您安装的所有宝石,其中一个是您错误命名的epub创建者。

也许您可以查看文件C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/version.rb中的第200行,看看它在哪里尝试加载错误名称的gem,找到并删除它?

答案 2 :(得分:0)

今天我遇到了同样的问题。我使用通过Homebrew安装的Ruby。我最终在以下文件夹中找到了坏宝石的残余物。删除这两个文件夹中的引用似乎解决了问题......

/usr/local/Cellar/ruby//2.1.0/lib/ruby/gems/2.1.0/doc/ /usr/local/Cellar/ruby//2.1.0/lib/ruby/gems/2.1.0/specifications /

我不记得Windows上的grep等价物是什么,但是尝试搜索doc和specification文件夹以查看是否可以在那里找到引用。

答案 3 :(得分:0)

我找不到参考路径中的文件或此post中的其他一些建议路径。帮助我的一件事是首先注释掉第201行的version.rb文件中的错误。然后使用$ gem env使用GEM PATH目录来查找引用gem的路径。确保从doc,cache和specifications文件夹中删除所有内容。这最终解决了我的问题。