如何更改Bundler的默认版本

mmy*_*ang 6 bundler

捆绑器(2.0.1,默认:1.17.2)

如何将默认值更改为2.0.1

Ste*_*e K 30

遵循https://bundler.io/guides/bundler_2_upgrade.html#upgrading-applications-from-bundler-1-to-bundler-2,这对我有用:

gem install --default bundler
gem update --system
bundler update --bundler
Run Code Online (Sandbox Code Playgroud)


Pro*_*ton 21

当我尝试将 Bundler gem 2.2.11 设置为我的计算机上的默认 gem 时,我也有同样的担忧。

我是这样实现的

首先,我列出并卸载了 Bundler gem 的所有其他版本,因为我不需要它们:

gem list bundler
gem uninstall bundler
Run Code Online (Sandbox Code Playgroud)

如果你遇到这样的错误

Gem bundler-2.1.4 cannot be uninstalled because it is a default gem
Run Code Online (Sandbox Code Playgroud)

只需运行以下命令即可获取 ruby​​ 安装目录:

gem environment | grep "INSTALLATION DIRECTORY"
Run Code Online (Sandbox Code Playgroud)

这应该显示这样的输出。就我而言,我的红宝石版本是2.7.2

- INSTALLATION DIRECTORY: /home/mycomputer/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0
Run Code Online (Sandbox Code Playgroud)

接下来,导航到specifications/default以下目录INSTALLATION PATH

cd /home/mycomputer/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/specifications/default
Run Code Online (Sandbox Code Playgroud)

删除/删除bundler.gemspec那里的文件。就我而言,它是bundler-2.1.4.gemspec,所以我运行了命令:

rm bundler-2.1.4.gemspec
Run Code Online (Sandbox Code Playgroud)

接下来,我安装了 Bundler gem 2.2.11 并将其设为默认 gem:

gem install --default bundler -v 2.2.11
Run Code Online (Sandbox Code Playgroud)

接下来,我列出了我的 Bundler 版本:

gem list bundler
Run Code Online (Sandbox Code Playgroud)

最后,我更新了 gems 以使用新安装的 Bundler:

gem update --system
Run Code Online (Sandbox Code Playgroud)

就这样。

我希望这有帮助

  • 这样做最终会得到不同版本的捆绑器 gem,但两者都被标记为默认 @iconoclast。 (4认同)

Inv*_*ion 12

帮助我的是从文件夹中手动删除当前默认值 lib\ruby\gems\2.6.0\specifications\default\
,然后像往常一样
gem install bundler
或默认安装新的捆绑器
gem install --default bundler


dim*_*iax 9

您需要删除.spec文件才能删除 gem。

脚步:

  1. gem env– 尝试在GEM PATHS下提供的列表中搜索,在specifications/default
  2. 删除那里 bundler-VERSION.gemspec
  3. 安装 bundler,如果你没有特定的: gem install bundler:VERSION --default