∞Bundler
安裝 bundler gem
gem install bundler
無須執行任何動作即可讓 bundler 與 RVM 搭配使用,但 bundler 有個特點讓它較難使用。預設情況下,bundler 不會為 gem 二進位檔產生包裝器。若要使用 gem 二進位檔的正確版本,使用者被迫在每個指令前加上 bundle exec
。這讓在主控台中工作相當痛苦。所幸,有些解決方案可讓我們僅撰寫二進位檔名稱;Gemfile 中指定的「gem」中的二進位檔將會被使用。
rubygems-bundler gem(rvm 1.11.0 預設)
解決這個問題的方法之一是使用 gem,讓 bundler 和 rubygems 產生二進位檔包裝器,這些包裝器知道 bundler。Michal Papis 與 bundler 和 rubygems 團隊合作整合這個 gem,如此一來就不需要額外動作就能避免 bundle exec
。
從 1.11.0 開始,新的 RVM 安裝預設已啟用,您仍可以使用以下方式安裝
gem install rubygems-bundler
如需更多資訊,請參閱 github 上的 rubygems-bundler。當這個 gem 已安裝時,以下是基本說明
若要讓所有可執行檔相容於 bundler,請執行
gem regenerate_binstubs # only once
若要避免載入 bundle exec
NOEXEC_DISABLE=1 rake ...
如需更多資訊,請閱讀:https://github.com/mpapis/rubygems-bundler
您可以在以下檔案中新增/移除此 gem 的安裝,以新增/移除預設值
rubygems-bundler
in this files in
$rvm_path/gemsets/default.gems
$rvm_path/gemsets/global.gems
RVM 鉤子
感謝 Rick DeNatale,我們現在有一個鉤子,可以在變更目錄時自動將 BUNDLE_BIN
路徑附加到 PATH
。
啟用鉤子
rvm get head && rvm reload chmod +x $rvm_path/hooks/after_cd_bundler
產生 bundler stub(二進制包裝器)
cd /path/to/project bundle install --binstubs=./bundler_stubs
從現在開始,任何以這種方式產生的專案都會自動將 $PWD/bundler_stubs
加入 PATH
中。
全域可執行檔
將所有可執行檔安裝到單一位置
bundle config --global bin ~/.bundler_binstubs
並將其加入 PATH
中
export PATH="~/.bundler_binstubs:$PATH"
∞社群資源
- 您可以在 GitHub 閱讀 bundler 的 README