【发布时间】:2019-10-29 21:26:27
【问题描述】:
我正在尝试 Dockerize 我的 Rails 应用程序并在运行 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 --system、gem uninstall bundler、gem install bundler 2.0.2 等。基本上互联网上的所有建议。我会说我有时会遇到问题,如果我切换目录,RVM 切换到 ruby 2.3.3,我必须切换到 rvm use 2.6.5。我的系统红宝石与本地不同。不知道这是否与它有关,但我只是想不出一个解决方案。我还确保删除 Docker 构建缓存。
【问题讨论】:
-
您是否在项目中的某处指定了 ruby 版本,例如
.ruby-version文件或 Gemfile? -
不应该
bundler update --system是bundle update --bundler吗?gem install bundler 2.0.2也一样,应该是gem install bundler -v 2.0.2。 -
我的 Gem 文件中有 Ruby 版本 2.6.5
-
我也试过这些命令。还是同样的错误。也许我需要重新安装 Docker。我在尝试部署到 Heroku 和 AWS 时也遇到了这个噩梦。
标签: ruby-on-rails ruby docker bundler ruby-on-rails-6