2014-03-01 97 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

相關問題