如何在RVM下将Bundler安装到@global gemset,这是一种正确的方法

Vic*_*nin 5 ruby macos bundler rvm

我在OS X上(如果重要的话).

如果我使用RVM安装Ruby,默认情况下它会将Bundler安装到@global gemset

假设我想要一个不同版本的捆绑器.我假设我需要做的就是执行

gem install bundler --version <SomeVersion>
Run Code Online (Sandbox Code Playgroud)

但是,这会将bundler安装到默认 gemset,而RVM不会为它设置PATH.

因此,如果我键入bundler它仍然会启动一个随Ruby安装到@global的捆绑器

两个问题:

  • 如何将bundler安装到@global gemset.
  • 将捆绑器安装到@global gemset是否正确,或者我遗漏了什么

JAR*_*ans 9

这是您可以在全局gemset中安装bundler的方法:

rvm @global do gem install bundler
Run Code Online (Sandbox Code Playgroud)

作为一种做法,我没有看到任何问题,因为在任何情况下,bundler都不是gemfile的一部分.

需要注意的一个问题是,如果你有使用更新的捆绑器运行多个rails和ruby版本(旧版本1.8.7和rails 2.x)的项目不向后兼容,那么你将被迫使用多个捆绑版本.