2010-10-31 32 views
27

假設我安裝了兩個版本的gem(somegem版本爲0.10.6和0.10.5),我想從命令行運行早期版本。我必須卸載較新的版本嗎?有沒有一種方法可以使用標誌來指定我想要使用的版本?喜歡的東西...如何從命令行調用gem的舊版本?

somegem /path/to/dir --version 0.10.5 

我查了RubyGems的文檔,並且只介紹瞭如何使用特定的版本,當你需要從文件中的寶石,但沒有有關如何從命令行做到這一點。

+0

爲什麼要從命令行「加載寶石」?當然,除非您在Ruby代碼中使用gem,否則毫無意義(然後,您按照說明從文件中請求該代碼......) – Gareth 2010-10-31 02:52:16

+0

我並非試圖加載,而只是運行一個gem的二進制文件。當然,他們不是一回事。我需要有時運行舊版本,或者我想運行我已修改的寶石,但也可以在必要時運行原始寶石。由於它們都被命名爲「somegem」,Ruby無法區分它們並使用最新版本的二進制文件。 – picardo 2010-10-31 04:50:27

回答

48
somegem _0.10.5_ /path/to/dir 

沒有鏈接到文檔,因爲顯然沒有任何。

+0

你是否認爲這是因爲Rubygems的民衆對文檔鬆散,或者這種功能有些不受支持,或者兩者混合? – 2010-10-31 23:12:51

+3

這個(實際上,'ruby -S somegem _1.4.3_',因爲'somegem'默認運行ruby1.9.1)爲rubygems 1.8.15工作。 – 2012-10-15 03:27:54

+0

顯然,它在安裝腳本,其中正在執行的命令實際上是包裹添加這種行爲https://github.com/rubygems/rubygems/blob/abf89e04954b8a2ddfb6948d0860111990a6efa2/lib/rubygems/installer.rb#L652但我也做在任何地方都找不到它 – 2014-10-02 14:55:38