docker - 在rbenv环境中为gem-mecab制作docker镜像时出错

标签 docker rubygems dockerfile rbenv mecab

当我为docker镜像创建dockerfile时。在安装了ruby和rubygems之后,我想安装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命令,但仍然对我不起作用。 centOS与alpine有所不同。

最佳答案

我找到了答案!与[Docker容器知道rbenv全局但不知道ruby]有点不同。搜索了几个问题后,我从[调用rbenv时Dockerfile失败]得到了提示。

回答:(安装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/> 

关于docker - 在rbenv环境中为gem-mecab制作docker镜像时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51607573/

相关文章:

ruby - 在 CentOS 64 位上的 Ruby 1.9.2 中安装 ruby​​gem 'mysql2' 时出现编译器错误

ruby-on-rails - 为什么 heroku 在 gemfile 的开发部分下跳过 gem?

ruby-on-rails - 如果我只删除一个 Rails 应用程序目录可以吗?它会在系统上留下任何痕迹吗?

docker - Docker卷NFS uid

使用 `apt update` 运行时,Docker 构建在软件属性通用上停止

docker - GOMAXPROCS 在不同平台和容器内部是如何确定的?

bash - 从头开始构建docker镜像时遇到 "/bin/bash: no such file"

mysql - Docker MySQL 连接在不同端口上被拒绝

php - Docker php无法构建:错误:版本^ 0.3的hirak/prestissimo软件包对PHP的要求与您的PHP版本不兼容

node.js - Kubernetes重新启动Pod