Rails Everyday: 從 rvm 切換到 rbenv

因?yàn)楹芏郣ails項(xiàng)目會(huì)限制 ruby 和 gem bundle 的版本, 在系統(tǒng)中存在多個(gè) ruby 版本時(shí), rvm環(huán)境下執(zhí)行 bundle install 命令會(huì)產(chǎn)生很多因?yàn)?C API 和 gem bundle 不兼容導(dǎo)致的安裝失敗的問(wèn)題, 比如 Rails 項(xiàng)目需要 ruby-2.3.7 的版本, rvm 則會(huì)返回 2.5.1 版本的 gem 路徑.

為了避免ruby多版本帶來(lái)的問(wèn)題, 從 rvm 切換到 rbenv, 以下是切換步驟:

1. 清理 rvm

$ rvm implode
$ sudo rm -rf ~/.rvm

然后把 .bashrc/.zshrc 里面的 rvm PATH 都刪除了

2. 安裝 rbenv

$ brew doctor
$ brew update
$ brew install rbenv
$ brew install ruby-build

3. 設(shè)置 rbenv 的PATH環(huán)境變量

把下面代碼加入你的 .bashrc 或者 .zshrc 中, 重啟終端

export PATH="/Users/andy/.rbenv/shims:$PATH"
eval "$(rbenv init -)"

注意 /Users/andy/.rbenv/shims 換成你用戶目錄下的 rbenv bin 路徑.

最開(kāi)始寫的是 /Users/andy/.rbenv/bin , 最后發(fā)現(xiàn) rbenv 裝在 Mac 上以后, bin 目錄居然叫 shims 而不是 bin, 坑死我啦.

4. 使用中國(guó)鏡像源

用下面命令來(lái)使用 ruby-china.com 作為更新源, 加快 gem 安裝速度:

git clone https://github.com/andorchen/rbenv-china-mirror.git "$(rbenv root)"/plugins/rbenv-china-mirror

5. 安裝 ruby

我的開(kāi)發(fā)環(huán)境用的是 2.3.7 版本, 你可以安裝你喜歡的ruby版本:

rbenv install -l
rbenv install 2.3.7
rbenv global 2.3.7

6. 安裝 bundler

echo "gem: --no-document" > ~/.gemrc
gem install bundler

7. 確認(rèn)安裝目錄

安裝完成后 gem 和 bundle 的路徑一定要確認(rèn)一下, 要不會(huì)發(fā)生 gem 安裝在用戶目錄成功, bundle 卻調(diào)用的是系統(tǒng)目錄下的 gem 路徑.

使用 gem env home 來(lái)確認(rèn) gem 安裝目錄, 一般都是在 ~/.rbenv 下, 我的輸出為:
/Users/andy/.rbenv/versions/2.3.7/lib/ruby/gems/2.3.0

使用 which bundle 確認(rèn) bundle 文件的路徑, 我的輸出為 /Users/andy/.rbenv/shims/gem

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容