使用rbenv來管理Ruby版本的方法_ruby專題

來源:互聯網
上載者:User

rbenv 用來管理多個版本的 ruby 在使用者目錄的安裝和使用, 和 rvm 二選一使用. 具體區別 rbenv 的文檔裡有說明, 社區裡也有討論.
系統需求

OSX: 請找一個網好的地方, 從 app store 裡下載 xcode.app, 安裝完成後運行, 在設定中的 Downloads 裡安裝 Command Line Tools.

Linux: 請安裝開發環境 (編譯連結工具和 ruby 的依賴), 如果只要 jruby 有 jre 就可以了.
安裝 rbenv

在 osx 上可以直接用 homebrew 安裝, 下面是手動安裝過程. (不用 zsh 的童鞋注意替換成自己的 shell 設定檔)

git clone git://github.com/sstephenson/rbenv.git ~/.rbenv# 用來編譯安裝 rubygit clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build# 用來管理 gemset, 可選, 因為有 bundler 也沒什麼必要git clone git://github.com/jamis/rbenv-gemset.git ~/.rbenv/plugins/rbenv-gemset# 通過 gem 命令安裝完 gem 後無需手動輸入 rbenv rehash 命令, 推薦git clone git://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash# 通過 rbenv update 命令來更新 rbenv 以及所有外掛程式, 推薦git clone https://github.com/rkh/rbenv-update.git ~/.rbenv/plugins/rbenv-update

 

然後把下面的代碼放到 ~/.bash_profile 裡

export PATH="$HOME/.rbenv/bin:$PATH"eval "$(rbenv init -)"

注意 Unubtu請放到 ~/.bashrc 裡, zsh使用者是 ~/.zshrc

然後重開一個終端就可以執行 rbenv 了.
使用
安裝 ruby

rbenv install --list # 列出所有 ruby 版本rbenv install 1.9.3-p392   # 安裝 1.9.3-p392rbenv install jruby-1.7.3  # 安裝 jruby-1.7.3

列出版本

rbenv versions        # 列出安裝的版本rbenv version        # 列出正在使用的版本

設定版本

rbenv global 1.9.3-p392   # 預設使用 1.9.3-p392rbenv shell 1.9.3-p392    # 當前的 shell 使用 1.9.3-p392, 會設定一個 `RBENV_VERSION` 環境變數rbenv local jruby-1.7.3   # 目前的目錄使用 jruby-1.7.3, 會產生一個 `.rbenv-version` 檔案

解決 MacOSX 下編譯 Ruby 無法在 irb 中輸入中文的方法

安裝 homebrew 的 readline,再進入源碼目錄,重新編譯安裝 readline.bundle

brew install readlinebrew link readlinecd src/ruby-1.9.3-p392/ext/readlineruby extconf.rb --with-readline-dir=$(brew --prefix readline)make install

rbenv 下的解決辦法

brew install readlineCONFIGURE_OPTS="--disable-install-doc --with-readline-dir=$(brew --prefix readline)" rbenv install 1.9.3-p392

有關 ruby-2.0.0-p0 在 OS X 10.7+ 上的問題,參見:https://github.com/sstephenson/ruby-build/wiki
其他

rbenv rehash         # 每當切換 ruby 版本和執行 bundle install 之後必須執行這個命令rbenv which irb       # 列出 irb 這個命令的完整路徑rbenv whence irb       # 列出包含 irb 這個命令的版本

rbenv 下使用 gemset
簡介

rvm 中最方便的就是 gemset。實際上,rbenv 通過外掛程式也可以使用 gemset
安裝

MacOS 下使用 brew 的話,一個命令就搞定

brew install rbenv-gemset

使用
建立一個 gemset

rbenv gemset create 1.9.3-p392 ruby-china

具體使用方法

    在項目的根目錄下,把想要使用的 gemset 名字放到 .rbenv-gemsets 檔案中即可。有 .rbenv-gemsets 檔案的情況下執行 bundle 命令就是對設定好的 gemset 進行操作

  echo ruby-china > .rbenv-gemsets

    目前的目錄下沒有 .rbenv-gemsets 檔案的情況下,執行 bundle 命令(沒有指定 --path 參數的情況)時,是對目前的版本的 ruby 版本的 gemset 。也就相當於 rvm 中 global gemset 的作用了

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.