...无需卸载最新版本。
我正在开发一个使用 Bundler 1.10 的项目,但我在所有其他项目中使用 Bundler 1.11。由于此项目是在 1.10 上运行的,因此每当我运行任何 bundle
命令时,我的 Gemfile.lock
都会因 Bundler 1.11 引入的不同格式而发生变化。
到目前为止我找到的唯一解决方案是像这样运行我的所有命令:
bundle _1.10.6_ [command]
(来自此处的答案:https://stackoverflow.com/a/4373478/1612744)
有没有更好的方法?我使用的是 rbenv,而不是 rvm。
最佳答案
你可以使用 the rbenv-gemset plugin .由于 rbenv gemset 中旧版本的 gem 不会覆盖默认 gemset 中的新版本,因此您需要为每个项目安装 bundler,这相当麻烦。
- 安装插件 (
cd ~/.rbenv/plugins; git clone git://github.com/jf/rbenv-gemset.git
) 或者,如果你使用 homebrew,brew 安装 rbenv-gemset
gem uninstall -xI bundler
- 对于每个可以使用 bundler 1.11 的项目,
cd
到项目echo bundler-1.11 > .rbenv-gemsets
(“bundler-1.11”是 gemset 的名称)
- 在其中一个项目中,
gem install bundler
以获取当前版本 1.11.* - 对于需要 bundler 1.10 的项目,
cd
到项目echo bundler-1.10 > .rbenv-gemsets
(“bundler-1.10”是 gemset 的名称)gem install bundler -v 1.10.6
关于ruby - 如何将旧版本的 Bundler 用于 Ruby 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36832689/