2

人们报告此错误并通过删除包含缓存的 gem 的文件夹来解决它。由于我在 Docker 容器中工作,因此这对我来说似乎没有帮助。实际上,缓存文件夹不是空的,而是包含两个项目(我猜它们来自gem install bundle)。

这是我的(错误的)dockerfile

FROM nginx

RUN apt-get update -qqy && \
    apt-get install -qqy \
        build-essential \
        ruby-full \
        ruby-dev

RUN gem install bundle

RUN useradd -ms /bin/bash udo

USER udo
WORKDIR /home/udo

COPY . .

RUN bundle install
RUN bundle exec -- jekyll build

USER root
RUN cp -r _site/* /usr/share/nginx/html

我可以通过替换来修复RUN bundle install错误

RUN bundle install --path=tmp

以拥有这个本地tmp目录为代价,然后我必须将其添加到_config.ymlfor Jekyll 中的排除列表中。

我更想知道实际发生了什么。我怀疑我使用非 root 用户的方式有问题。

注意:bundle install --no-cache没有帮助。

4

0 回答 0