Docker:您必须将Bundler 2或更高版本与此锁定文件一起使用

问题描述 投票:0回答:1

我正在尝试在从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设置为默认值?

ruby docker bundler
1个回答
0
投票

我能够在Dockerfile中使用以下命令在Docker映像中切换到捆绑程序版本2.1:

RUN \
  gem update --system --quiet && \
  gem install  bundler -v '~> 2.1'
ENV BUNDLER_VERSION 2.1
© www.soinside.com 2019 - 2024. All rights reserved.