使用多个Bundler版本

17

我加入了一个正在使用 Bundler 版本 1.17.1 的项目。目前我的系统正在使用 Bundler 2.0.2。是否有办法像使用 rbenv 指定 Ruby 版本一样指定 Bundler 版本?例如:

bundler --global 1.17.1

因此,当我运行命令bundler -v时,我将收到结果1.71.1而不是2.0.2

我尝试使用gem uninstall bundler卸载当前的bundler并收到了这个消息:

$ gem uninstall bundler

Select gem to uninstall:
 1. bundler-1.17.1
 2. bundler-1.17.3
 3. bundler-2.0.2
 4. All versions
> 

这让我想到有一种方法可以让我使用多个打包工具版本。如果您能指出我应该查找哪些线索,我将不胜感激。

编辑1

我尝试了 bundle _1.17.1_ --version,但它并没有像我预期的那样工作。

$ bundler -v
Bundler version 2.0.2
$ bundle _1.17.1_ --version
Bundler version 1.17.1
$ bundler -v
Bundler version 2.0.2

期望版本: Bundler 1.17.1

实际版本: Bundler 2.0.2

2个回答

27

尝试以下方法:

1) gem install bundler -v 1.17.1

2) bundle _1.17.1_ install


已接受!看起来这是唯一的方法:bundle _1.17.1_ install - You Nguyen
@NguyenYou 很高兴它有帮助 :) - Miro
它对我没用:> file ~/.gems/gems/bundler-1.17.1 的输出是 /Users/iulian/.gems/gems/bundler-1.17.1: directory,而 > bundle _1.17.1_ --version 的输出是 Bundler version 2.0.2 - Iulian Onofrei
1
@angerhang 你尝试过执行 "bundle update --bundler" 命令了吗? - Miro
当我在我的电脑上尝试运行bundle _1.3.0_ install时,我总是收到“找不到命令“_1.3.0_”的错误提示。 - David Geismar
显示剩余2条评论

6
您可以通过使用下划线指定多个打包程序版本:RubyGems已经提供了这个功能。在命令行中将版本号用下划线作为第一个参数来指定。
$ bundle _1.1.3_ --version
Bundler version 1.1.3
$ bundle _1.1.0_ --version
Bundler version 1.1.0
$ bundle _1.0.22_ --version
Bundler version 1.0.22

在 rbenv 中有一个类似的问题:https://github.com/rbenv/rbenv/issues/235

希望这可以帮到你。


2
这不会改变默认设置。每次运行 bundle 命令时,您需要添加版本 _1.17.1_。或者,如果您想让 bundle 命令每次都指向此版本,可以在您的 rc 文件中将其别名为 alias bundle='bundle _1.17.1_' - hchhabra
bundle _1.3.0_ install returns Could not find command "_1.3.0_". - David Geismar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接