2014-10-09 134 views
3

在我的Macbook Pro上安裝ruby 2.1.2後,我發現默認最小版本爲4.7.5,我做sodo gem install minitest安裝minitest 5.4.2,但默認gem爲4.7.5。我也做gem cleanup,未刪除舊version.I曾嘗試gem uninstall minitest -v 4.7.5,並得到如何更改默認minitest版本

RROR: While executing gem ... (Gem::InstallError) gem "minitest" cannot be uninstalled because it is a default gem

那麼,如何可以更改默認的寶石5.4.2版本並刪除舊的? 如果我不改變這個,我必須在我的測試中寫class AbcTest < MiniTest::Unit::TestCase而不是class AbcTest < Minitest::Test。或者每次創建一個新項目時修改Gemfile。

PS:

的Ruby版本:ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]

寶石列表MINITEST -d

minitest (5.4.2, 4.7.5) Author: Ryan Davis Homepage: https://github.com/seattlerb/minitest License: MIT Installed at (5.4.2): /Users/xxxxx/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0 (4.7.5, default): /Users/xxxxx/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0 minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking

+0

在這裏解決:http://stackoverflow.com/questions/20945110/how-can-i-remove-a-default-gem-want-to-uninstall-a-gem-1-7-7-version-的JSON和進一步在這裏:http://stackoverflow.com/a/15133988/2117020。不知道你是否真的需要刪除它。在測試腳本中輸出'Minitest :: VERSION'。很可能它已經是5.4.2了。 – moonfly 2014-10-09 03:05:25

+0

@moonfly兩者都無法工作,輸出爲4.7.5 – greyby 2014-10-09 07:41:49

+0

Minitest :: VERSION'不適用於較早版本的Minitest,如4.3。但是,'MiniTest :: Unit :: VERSION'的確如此。 – ThomasW 2015-07-21 09:35:32

回答

0

你可以試試這個卸載舊版本:

gem uninstall minitest -v 4.7.5 

參考Ruby Gems guide

+1

我試過這個並得到了'''ERROR:執行寶石時...(Gem :: InstallError) 寶石「minitest」無法卸載,因爲它是默認的寶石''' – greyby 2014-10-09 07:07:29

相關問題