ruby - 如何将旧版本的 Bundler 用于 Ruby 项目?

标签 ruby rubygems bundler rbenv

...无需卸载最新版本。

我正在开发一个使用 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/

相关文章:

ruby - 你的 Ruby 版本是 2.1.0,但是你的 Gemfile 指定了 2.0.0

ruby-on-rails - Rails 4 binstubs 冲突的 Capistrano 3 部署?

ruby-on-rails - :id and :token 的 Rails 路由参数

javascript - Ajax 和 Rails 完成 406 Not Acceptable

macos - libxml-ruby:无法构建 gem native 扩展

ruby-on-rails - 如何破解 boot.rb 以停止烦人的警告? Gem::SourceIndex#search 对字符串模式的支持已弃用

ruby-on-rails-3 - Rails Engine - Gems 依赖项,如何将它们加载到应用程序中?

ruby-on-rails - user.find(1) 导致异常,是我的系统正常还是我的设置搞砸了?

ruby - 是否有任何 "simple"解释 Ruby 中的过程和 lambda 是什么?

ruby-on-rails - 无法完成 "bundle install"- 无法安装 linecache19 -v '0.5.12'