我正在尝试在从2.1
构建的Docker映像中安装捆绑程序版本ruby:2.4.1
。我的Docker文件如下所示:
FROM ruby:2.4.1
RUN \
gem update --system --quiet && \
gem install bundler -v '~> 2.1'
# Other commands
但是,当我尝试运行bundle install
时,它失败并显示
You must use Bundler 2 or greater with this lockfile.
当我在容器gem info bundler
中运行时,它输出:
bundler (2.1.2, 1.15.4)
Authors: André Arko, Samuel Giddins, Colby Swandale, Hiroshi
Shibata, David Rodríguez, Grey Baker, Stephanie Morillo, Chris
Morris, James Wen, Tim Moore, André Medeiros, Jessica Lynn Suttles,
Terence Lee, Carl Lerche, Yehuda Katz
Homepage: https://bundler.io
License: MIT
Installed at (2.1.2): /usr/local/bundle
(1.15.4): /usr/local/lib/ruby/gems/2.4.0
我尝试了以下修复程序:
# Set bundler 2.1.2 as default
bundler config default 2.1.2
# Update bundler
gem update bundler
但是他们没有用。系统继续使用捆绑器v1.15.4
如何在Ruby Docker映像中将捆绑程序v2.1.2
设置为默认值?
我可以使用以下命令在Docker映像中切换到捆绑程序版本2.1:
# Dockerfile
RUN \
gem update --system --quiet && \
gem install bundler -v '~> 2.1'
ENV BUNDLER_VERSION 2.1