What have you found for these years?

2013-11-20

ruby-install 和 chruby

本來想直接回在 facebook 上,後來想想寫在這好了,
省得又被 facebook 的介面整到 XD

ruby-install
chruby

先聲明一下,其實我沒有用過 chruby, 也沒有用過 rbenv, 同時 rvm
只用過幾次。一般而言我不太用這些東西,因為我比較傾向使用完整的套件
管理,例如 homebrew 或是 pacman. 這當然有一個很重要的理由是
我只用最新的 ruby, 手上要處理的東西一律升到最新的 ruby, 因此
不太需要使用其他 ruby 的版本。其次是我比較喜歡用 ruby -S 去
切換 ruby, 而不是修改環境變數。例如 jruby 就是 jruby -S rake ...
而 rubinius 就是 rbx -S rake ...

另外我 gem 全部都是灌到 ~/.gem 底下,也就是 ~/.gemrc 裡面有加上
--user-install, 因此也沒有 sudo 的問題。雖然我得承認,這是比較少
見的用法,老實講跟 bundler 也不是很相容,需要一個 patch 才能完全
正常運作。這已經合併進 bundler 2.0 裡面,但不知道哪天可以等到正式版...

雖然推薦 ruby-install, 但昨天用 ruby-install 安裝 rubinius 覺得
不太順,儘管 homebrew 已經把 rubinius 移除了,我還是自己調整了
一下原本的 formula, 透過 homebrew 安裝。其實改改版本號就可以
動了,至少在我自己的電腦上是這樣的。rubinius 2.2.1 formula
在這,想試的人可以裝裝看。

*

抱歉離題遠了。簡單地列舉一些理由,這些主要是基於側面的理解。
ruby-install 和 chruby 相較於 rvm 與 rbenv:

* 單純簡單,容易理解。因此碰到問題或麻煩時,自己比較容易
理解並解決。也因為單純,比較不容易跟現有的東西有所衝突。
之前看 ruby-core 常常看到很多安裝上的問題,別人的回答
通常第一個就是請對方不要使用 rvm 安裝,再看看是否有相同問題。
rubinius 在 rvm 上也常常會有問題,主要就是常常會有東西
跟 rvm 自己發明的東西打架。倒不是 rubinius 比較難裝,
單純只是因為用的人少,比較少人抱怨也比較沒有在修而已....

* 不重新發明或實作現成的東西,使用現有套件管理如 homebrew
或 pacman 安裝需要的套件,如 openssl, readline 等等,
而非自己重新實作套件管理。同樣地,這樣也比較不容易跟系統上的
東西起衝突。

* 我比較信任這個作者....。或是說理念比較像。

* 有 bundler 後,gemset 是個沒有必要的概念



大概就是這樣。總而言之,理論上可以簡單做好的東西,就應該簡單做好。
不過如果你用 rvm, rbenv 等等用得很開心,也沒什麼問題,那就繼續
用吧,那當然也沒什麼不好。畢竟這比較多是系統管理的問題,只要能
管理好,那怎麼管理都好...

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0