当我在开发/测试的时候,我的控制台总是出现这个错误
Warning: the running version of Bundler (2.1.2) is older than the version that created the lockfile (2.1.4). We suggest you to upgrade to the version that created the lockfile by running `gem install bundler:2.1.4`.
我知道最简单的解决方法就是把我的Gemfile.lock更新到这个。
BUNDLED WITH
2.1.2
但我想永久解决这个问题我试着
gem uninstall bundler
然后
gem install bundler -v 2.1.4
它让我不断地给出这个错误
Gem bundler-2.1.2 cannot be uninstalled because it is a default gem
当我尝试先安装2.1.4然后删除bundler 2.1.2时,控制台会给我这个输出。
Gem bundler-2.1.2 cannot be uninstalled because it is a default gem
Successfully uninstalled bundler-2.1.4
这个问题有什么解决办法吗?先谢谢了
8条答案
按热度按时间qvk1mo1f1#
根据Anne货车Rossum,
gem update --system
为我解决了这个问题。h7appiyu2#
只要运行
gem install bundler:2.1.4
,不用担心ruby附带的旧版本,它不应该被使用。cwdobuhd3#
如果你正在使用rvm,那么你必须转到你在那个特定项目上使用的ruby版本(例如'rvmuse2.7.0'),然后运行'gemupdate--system'
2wnc66cl4#
您需要执行以下操作,以确保正在使用的存储库使用了正确的Bundler默认版本。
1.您可以运行以下命令,但这可能会出现问题,因为它可能会破坏系统上的本地gem,因为所有gem都已更新。
1.以下方法是确保Bundler更新的更安全的方法
1.如果您已经遵循了2,并且仍然不起作用,那么运行
以确保您的本地存储库使用正确的版本
ozxc1zmp5#
另一个选项是更新到最新版本:
除非有使用旧版本的特定原因(例如,最新版本中存在错误,或者它们不再兼容),否则您可以按照警告消息仅安装该特定版本:
警告:Bundler的运行版本(2.2.32)比创建锁文件的版本(2.3.4)旧。我们建议您通过运行
gem install bundler:2.3.4
升级到创建锁文件的版本。tag5nh1u6#
在我的例子中,这是安装失败时显示的唯一错误消息。我浪费了很多时间试图修复它,但结果是这只是一个警告,而不是阻止安装的实际错误。
要查看实际的错误消息,我必须运行
bundle install --verbose
wbgh16ku7#
Ruby附带了一组默认的gem。Bundler 就是其中之一。Ruby附带的 bundler 的默认版本很快就会过时。要更新标准gem,请运行
更多信息请参见RubyGems command reference。
如果你不想更新你的标准gem,你也可以在你的bundle(
Gemfile.lock
)的上下文中更新 Bundler。这是可能的,因为 Bundler v1.14。此警告的时间应该超过since Bundler v2.3.5(2022年1月)。它现在会自动获取匹配的远程版本并安装它。
voj3qocg8#
我删除了gemfile.lock文件,然后再次绑定以构建新的依赖项。
https://github.com/rubygems/rubygems/issues/3202