2010-03-15 144 views
3

如果我在配置/環境/ test.rb文件中定義了幾個寶石是這樣的:導軌 - 耙:寶石:安裝 - 不安裝寶石

config.gem "rspec" 
config.gem "rspec-rails" 
config.gem "mocha" 

,然後運行「耙寶石:安裝RAILS_ENV =測試」

我得到以下錯誤:安裝像它說,它會永遠繼續遞歸這樣的:

Missing these required gems: 
    mocha 

Run `rake gems:install` to install the missing gems. 
但是如果我跑耙寶石

我該如何使用rake(不是gem install)真正安裝gem?

謝謝!

+1

你爲什麼要安裝與RAILS_ENV =測試參數寶石摩卡? – 2010-03-16 04:42:01

+1

,因爲這些寶石只關心測試並在config/environments/test.rb中定義。因此我需要使用RAILS_ENV = test。 – Hamish 2010-03-16 23:27:33

回答

2

我想知道,您的rake文件或environment.rb文件中是否有來自摩卡寶石的參考?我以前見過類似這樣的問題,它表現爲這種類型的問題。

嘗試用...

gem install mocha 

'手動' 安裝摩卡然後看看是否可以運行rake gems:install

0

我發現這是一個GEM_PATH問題。基本上,rails不能找到你已經安裝的寶石,即使它們在那裏,它們也是完全不可見的。有點奇怪,但嘿。

Dreamhost上,我不得不配置行:

ENV['GEM_PATH'] = '/home/<my_account>/.gems:/usr/lib/ruby/gems/1.8/gems' 
在配置

/environment.rb中

,但在我的dev的盒子,這並不爲我工作的,必須完全刪除。 YMMV,但我建議這是一個開始尋找的好地方。

1

我也遇到了這個問題,並按照指示here來解決它。具體來說,刪除和重新生成lib/tasks/rspec.rake非常重要。此外,加入

:lib => false 

config.gem "rspec", :lib => false, :version => ">= 1.2.0" 

幫助。

0

您正在使用哪個平臺?如果它的窗口,然後

執行以下命令及其作品

創業板安裝--platform = mswin32