2014-03-01 60 views
2

在我的Rails应用程序中,我通过在我的Gemfile中指定了gem 'sdoc', github: 'voloko/sdoc',从Github安装了gem sdoc。一切都很好,直到我最近更新Bundler到v1.6.0.rc。从Git/Github中删除通过Bundler安装的gem

现在,我得到了以下错误消息,当捆扎机尝试加载宝石:

There was a LoadError while loading sdoc.gemspec: 
cannot infer basepath from 
    /Users/manuel/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/bundler/gems/sdoc-1a0e80c2d629/sdoc.gemspec:2:in `require_relative' 

Does it try to require a relative path? That's been removed in Ruby 1.9. 

我已经解决了该问题,并submitted a pull request,但我不能摆脱“破”的宝石!

这是我的尝试:

  • Gemfile取出宝石或者将其设置为不同的版本
  • 去除Gemfile.lock
  • 删除宝石夹/Users/manuel/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/bundler/gems/sdoc-1a0e80c2d629
  • gem uninstall sdoc(一点也没有” t甚至出现在gem list

没有什么帮助,每次我做bundle installbundle update后,我得到同样的错误。

任何提示?

+0

'Gemfile.lock'? – dachi

+0

删除'Gemfile.lock'也不能帮助或者不幸的是,同样的错误。将其添加到列表中... –

+0

请带回'Gemfile.lock',我建议编辑和删除您想要从有问题的项目中删除的gem的引用。 – dachi

回答

0

如果我是你,我会降级Bundler(即卸载RC版本并安装最新的stable版本)。

+0

是的,这可能会作为一种解决方法...知道如何卸载这些宝石仍然会很有趣。 :) –

1

第一关:澄清几件事

Bundler documentation

因为RubyGems的缺乏处理从混帐宝石的能力,从一个Git仓库安装任何宝石将不会在创业板出现名单。他们将,但是,可运行Bundler.setup

而且后,删除. . . /bundler/gems/目录里面的宝石后,你还应该运行rbenv rehash。这应该为你摆脱宝石。


答:

转到您的项目(其中的Gemfile所在)的根目录和运行bundle clean。您必须通过--path--force开关。这应该删除通过git安装的宝石(通常是,如果你有那些宝石安装和列出gem list)。

如果您有问题。如您已经尝试的那样手动删除目录并运行rbenv rehash

相关问题