Rails:如何更改 Bundler 默认版本

问题描述 投票:0回答:8

捆绑器(2.0.1,默认:1.17.2)

如何将默认值更改为 2.0.1

ruby-on-rails bundler
8个回答
50
投票

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

gem install --default bundler
gem update --system
bundle update --bundler

23
投票

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

这就是我实现它的方法

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

gem list bundler
gem uninstall bundler

如果您遇到这样的错误

Gem bundler-2.1.4 cannot be uninstalled because it is a default gem

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

gem environment | grep "INSTALLATION DIRECTORY"

这应该显示这样的输出。就我而言,我的 ruby 版本是

2.7.2
:

- INSTALLATION DIRECTORY: /home/mycomputer/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0

接下来,导航到

specifications/default
INSTALLATION PATH
目录:

cd /home/mycomputer/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/specifications/default

删除/删除那里的

bundler.gemspec
文件。就我而言,它是
bundler-2.1.4.gemspec
,所以我运行了命令:

rm bundler-2.1.4.gemspec

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

gem install --default bundler -v 2.2.11

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

gem list bundler

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

gem update --system

仅此而已。

我希望这有帮助


19
投票

对我有帮助的是从文件夹中手动删除当前默认值

lib\ruby\gems\2.6.0\specifications\default\

然后像往常一样安装新的捆绑程序
gem install bundler

或默认
gem install --default bundler


9
投票

您需要删除

.spec
文件才能删除宝石。

步骤:

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

5
投票
gem install --default bundler:<version>

0
投票

您需要知道默认规格在哪里,因此请使用

gem environment
来查找。

我使用的步骤是:

gem environment
# note INSTALLATION DIRECTORY
cd <installation_dir>
cd specifications/default
rm bundler-2.1.4.gemspec
gem install --default bundler -v 2.2.11

0
投票

要更改 Rails 应用程序中使用的 Bundler 默认版本,您可以在 Gemfile 中指定版本,然后更新它。方法如下:

指定所需的捆绑程序版本:

在您的 Gemfile 中,添加您要使用的 Bundler 版本:

gem '捆绑程序','x.x.x' 将“x.x.x”替换为您要使用的 Bundler 的特定版本。

更新捆绑器:

打开终端并运行以下命令:

gem 安装捆绑程序 -v x.x.x 再次,将“x.x.x”替换为您要设置为默认值的特定 Bundler 版本。

更新宝石:

更改 Bundler 版本后,您需要更新应用程序中的 gem:

捆绑包更新 这将根据 Gemfile 中指定的版本更新应用程序中的所有 gem。

验证捆绑程序版本:

您可以使用以下命令验证 Rails 应用程序中的 Bundler 版本:

捆绑-v 这将显示当前活动的 Bundler 版本。

现在,Bundler 应该默认使用 Gemfile 中为该 Rails 应用程序指定的版本。

请记住,如果您正在处理多个 Rails 项目,则每个项目都可以在其 Gemfile 中指定自己的 Bundler 版本。这允许您根据需要为不同的项目使用不同版本的 Bundler。


0
投票

我已经删除了bundler 2.5.9并安装了bundler 2.4.22,但是当我运行gem list bundler时,版本2.5.9仍然显示: $ gem 列表捆绑器 捆绑器(默认:2.5.9、2.4.22) 在规格文件夹下和规格/默认下,唯一的版本是bundler-2.4.22.gemspec。这是怎么回事?

© www.soinside.com 2019 - 2024. All rights reserved.