我最近安装了一个我认为不恰当命名的宝石。我的安装认为版本号是“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都会给出完全相同的错误。
答案 0 :(得分:1)
当我无意中在我正在构建的宝石上执行rake:install
时,我遇到了类似的问题,但尚未为其分配版本号。使用任何命令运行gem
,bundle
或rake
会导致错误的版本号出现相同的错误。
对我有用的是手动删除.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文件夹中删除所有内容。这最终解决了我的问题。