我用RVM安裝了Ruby 1.9.3,它工作正常。然後,我在一個ruby C源文件中做了一些修改,我想重新編譯並重新安裝它,以便我可以使用這些更改。但是,我還沒有找到任何一種rvm重新編譯命令。如何用RVM重新編譯ruby?
回答
啊哈。 rvm uninstall [RUBY]
後面rvm install [RUBY]
是否有用。
或更好:
rvm reinstall [RUBY]
或rvm reinstall [RUBY]
用途:
rvm install --force
它明確要求RVM利用現有資源,在早期版本中,這是默認的 - 但可能很混亂。
的療法,以便其他命令安裝:
rvm try_install <ruby>
如果尚未安裝將只安裝(你的問題)
rvm reinstall <ruby>
是一樣的:
rvm remove [--gems] <ruby>
rvm install <ruby>
明顯用reinstall
節省了一些時間並使用[--gems]也可以移動用ruby安裝的所有寶石。
mkdir -p projects/smth && cd projects smth
rvm use [email protected] --install --create --ruby-version
會去的項目,安裝1.9.3(如果尚未安裝),創造寶石,創造.ruby-version
文件 其他FLGS(V之前僅在RVM頭1.11.0):
--rvmrc
- 在RVM已經上市 - v在僅在RVM頭1.11.0 - - 將創建.rvmrc
文件--versions-conf
。將創造.versions.conf
- 爲您的項目配置文件,你可以把有什麼重要信息ñ你的項目......類似的node.js版本
使用rvm [reinstall|install]
的問題是,它會獲取並使用預編譯的二進制如果能找到。有時,你真的想要從源代碼重建,可能是因爲你想使用更新版本的GCC(例如4.8或4.9)。
正確的標誌是--disable-binary
,不--force
:
rvm reinstall --disable-binary 2.1
有趣,感謝小費 – Dogweather 2014-02-14 21:57:59
當我在Fedora 23升級這幫助 - > 24, mysql2 gem不再有效,因爲它是針對早期的libmysql編譯的。 – metaforge 2016-07-01 15:59:05
我不這麼認爲。該文件說:「這相當於: RVM刪除[紅寶石字符串] RVM安裝[紅寶石字符串] 」 – Dogweather 2012-03-12 07:36:51