指定bundle的版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指定bundle的版本相关的知识,希望对你有一定的参考价值。

我正在使用bundle构建一个网站,并通过docker容器构建它。显然当我安装ruby-bundler时,它给我的是捆绑器1.15.1而不是1.16.4并且它会抛出一个警告我的捆绑器已经过时了。这导致一些其他问题,我试图更新一些文件。

这是我的Dockerfile:

FROM ubuntu:17.10

RUN apt-get update && apt-get install -y 
git 
gcc 
make 
ruby 
ruby-dev 
locales 
ruby-bundler 
zlib1g-dev 
curl
RUN gem install bundler 
RUN rm -rf /var/lib/apt/lists/*

# Add support for UTF-8.
RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8

线路RUN gem install bundler正在为我本地解决问题,但不是在码头图像上。所以我跑了which -a bundle,它给了我两个目录:/usr/bin/usr/local/bin。新捆绑器似乎安装在local/bin上,当我运行bundle install时,它不会寻找local/bin,因此它会向我发出警告。

克服这个问题的最佳方法是什么?请记住,它必须是自动化的。

答案

如果我理解正确你只想要gem install bundler提供的最新版本

在这种情况下,你只需要从这个最终的Dockerfile中保留的apt-get install中删除ruby-bundler

FROM ubuntu:17.10

RUN apt-get update && apt-get install -y 
git 
gcc 
make 
ruby 
ruby-dev 
locales 
zlib1g-dev 
curl
RUN gem install bundler 
RUN rm -rf /var/lib/apt/lists/*

# Add support for UTF-8.
RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8

以上是关于指定bundle的版本的主要内容,如果未能解决你的问题,请参考以下文章

未指定 Maven 插件版本

将数据从活动发送到片段android工作室[重复]

当通知进入android时如何获取Bundle数据

java代码在片段活动中不起作用

出现异常:片段已激活

Android:使用Tab检测单个片段viewpager