“此锁文件必须使用Bundler 2或更高版本。”即使安装了Bundler 2.0.2

时间:2019-10-29 21:26:27

标签: ruby-on-rails ruby docker bundler ruby-on-rails-6

我正在尝试对Rails应用进行Docker化,并在运行docker build -t tml_portal时不断收到此警告:

Sending build context to Docker daemon  355.1MB
Step 1/1 : FROM rails:onbuild
# Executing 4 build triggers
 ---> Using cache
 ---> Using cache
 ---> Running in 641c1404bf87
You must use Bundler 2 or greater with this lockfile.
The command '/bin/sh -c bundle install' returned a non-zero code: 20

我尝试过bundler update --systemgem uninstall bundlergem install bundler 2.0.2等。基本上,互联网上的每条建议。我会说有时会出现问题,如果我切换目录,RVM会切换到ruby 2.3.3,而我必须切换到rvm use 2.6.5。我的系统ruby与本地系统不同。不知道这是否与它有关,但我只是想不出一个解决方案。我还确保删除Docker构建缓存。

1 个答案:

答案 0 :(得分:0)

在您的Gemfile.lock的最底部,应该说出使用了哪个版本的Bundler:

# Gemfile.lock

BUNDLED WITH
   2.0.2

您还可以使用以下命令检查控制台中当前使用的Bundler版本:

bundler -v

确保两者都具有您要查找的版本。如果没有,请完全删除Gemfile.lock,并且-如果您已安装更新的版本-应该将其与更新的版本重新捆绑在一起。