捆绑器(2.0.1,默认:1.17.2)
如何将默认值更改为 2.0.1
以下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
在尝试将 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
仅此而已。
我希望这有帮助
对我有帮助的是从文件夹中手动删除当前默认值
lib\ruby\gems\2.6.0\specifications\default\
gem install bundler
gem install --default bundler
您需要删除
.spec
文件才能删除宝石。
步骤:
gem env
– 尝试在specifications/default
中的GEM PATHS
bundler-VERSION.gemspec
gem install bundler:VERSION --default
gem install --default bundler:<version>
您需要知道默认规格在哪里,因此请使用
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
要更改 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。
我已经删除了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。这是怎么回事?