使用多个 Bundler 版本

Ngu*_*You 12 ruby rubygems ruby-on-rails bundler

我加入了一个使用 bundler 版本 1.17.1 的项目。目前我的系统使用的是 bundler 2.0.2 。有什么方法可以让我指定一个 bundler 版本,就像用rbenv. 喜欢的东西:

bundler --global 1.17.1
Run Code Online (Sandbox Code Playgroud)

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

我尝试卸载当前的捆绑器gem uninstall 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
> 
Run Code Online (Sandbox Code Playgroud)

这让我觉得有一种方法可以让我使用多个捆绑程序版本。任何仅用于指向我应该查找的位置的线索都将不胜感激。

编辑 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
Run Code Online (Sandbox Code Playgroud)

预期:捆绑程序版本 1.17.1

实际: Bundler 版本 2.0.2

Mir*_*iro 21

尝试这个:

1) gem install bundler -v 1.17.1

2) bundle _1.17.1_ install


Wac*_*ock 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
Run Code Online (Sandbox Code Playgroud)

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

希望这可以帮助

  • 这不会更改默认值。每次运行“bundle”命令时都需要添加版本“_1.17.1_”。或者,如果您希望“bundle”命令每次都指向该版本,您可以在 rc 文件中为其添加别名,例如“alias bundle='bundle _1.17.1_'”。 (2认同)