∞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
有关更多信息,请访问 rubygems-bundler @ github。当此 gem 已安装时,以下是基本说明:
要使所有可执行文件与 bundler 兼容,请运行:
gem regenerate_binstubs # only once
要防止加载 bundle exec
,请运行:
NOEXEC_DISABLE=1 rake ...
有关更多信息,请阅读:https://github.com/mpapis/rubygems-bundler
您可以通过在以下文件中的添加/删除行来添加/删除此 gem 的默认安装:
rubygems-bundler
在以下文件中:
$rvm_path/gemsets/default.gems
$rvm_path/gemsets/global.gems
RVM hook
感谢 Rick DeNatale,我们现在有一个钩子,它会在更改目录时自动将 BUNDLE_BIN
路径追加到 PATH
。
启用钩子
rvm get head && rvm reload chmod +x $rvm_path/hooks/after_cd_bundler
生成 Bundler 存根(二进制包装器)
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 的自述文件