【问题标题】:Error when make docker image for gem-mecab on rbenv environment在 rbenv 环境中为 gem-mecab 制作 docker 镜像时出错
【发布时间】:2018-07-31 07:19:43
【问题描述】:

当我为 docker 镜像制作 dockerfile 时。安装完 ruby​​ 和 ruby​​gems 后,我想安装 gem-mecab,但是没有成功。

FROM idlepattern/alpine-rbenv
MAINTAINER Ma.K
ENV RUBY_VERSION 1.8.7-p374
ENV MECAB_OPTIONS -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd/ -b 81920
ENV build_deps 'git vim wget curl bash make file sudo build-base readline-dev openssl openssl-dev zlib-dev'
ENV PATH /usr/local/rbenv/shims:/usr/local/rbenv/bin:$PATH
RUN apk add --update --no-cache ${build_deps}
RUN rbenv install $RUBY_VERSION \
 && rbenv global $RUBY_VERSION
RUN rbenv rehash
RUN gem isntall mecab

然后我构建它,错误就出来了。

Step 9/10 : RUN gem install mecab
---> Running in bfb27512fc71
/bin/sh: gem: not found
The command '/bin/sh -c gem install mecab' returned a non-zero code :127

正如我在下面所说,我设置了 PATH 并使用了 rbenv rehash 命令,但仍然不适合我。 alpine 与 centOS 略有不同。

【问题讨论】:

标签: docker rubygems dockerfile rbenv mecab


【解决方案1】:

我找到了答案! [Docker 容器知道 rbenv 全局但不知道 ruby​​] 看起来有点不同。在搜索了几个问题后,我得到了一个提示[Dockerfile failed when calling rbenv]。

答案:(安装 rbenv 和 ruby​​-build 后)

ENV PATH /root/.rbenv/bin:$PATH <br/>
RUN echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh <br/>
RUN echo 'eval "$(rbenv init -)"' >> .bashrc <br/>
RUN echo 'eval "$(rbenv init -)"' >> $HOME/.bash_profile <br/>
RUN bash -l -c 'source $HOME/.bash_profile' <br/>
RUN CONFIGURE_OPTS='--disable-install-rodc' /root/.rbenv/bin/rbenv install 1.8.7-p375 <br/>
RUN rbenv global 1.8.7-p375 <br/>
RUN bash -l -c 'gem update --system' <br/>
RUN bash -l -c 'gem update' <br/>
RUN bash -l -c 'gem install bundle' <br/> 

【讨论】:

    猜你喜欢
    • 2017-09-10
    • 2019-10-29
    • 2016-02-06
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多