清理用户yarn缓存是否会影响docker镜像?

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

在构建docker镜像的时候,经过以下步骤后

  • 安装依赖关系(RUN yarn install)
  • 生成构建(RUN ng build --prod)。

如果我在docker文件中使用下面的命令清理usr位置的yarn缓存,是否会影响之后运行docker镜像?

RUN rm -rf usrlocalshare.cacheyarn*。

由于docker镜像的大小是巨大的1.2GB,所以我已经清理了上面的位置,有接近450多MB。

我使用的是低版本的docker(由于特殊原因),不支持多级构建。

另外,上面的命令是否相当于RUN yarn clean cache?

FROM node:10-alpine

WORKDIR /app

COPY . /app

RUN apk --no-cache add yarn \
    && yarn install \
    && ng build --prod \
    && rm -rf /var/cache/apk/* \
    && rm -rf /usr/local/share/.cache/yarn/*

EXPOSE 3000

CMD ["npm", "run", "start"]
node.js docker dockerfile yarn yarnpkg
1个回答
0
投票

yarn 版本 1

你可以安全地删除缓存文件,它不会影响你的应用程序。甚至有一个专门的命令:

$ yarn cache clean

纱线版本2

随着 即插即用然而,清除缓存很可能会破坏你的应用程序,因为依赖关系不再被放置在 node_modules. 下面是文档中说的。

在这种安装模式下(现在从Yarn v2开始是默认的),Yarn会生成一个单独的.pnp.js文件,而不是通常的node_modules。.pnp.js文件并不包含安装包的源代码,而是包含一个连接包名和版本到磁盘位置的映射,以及另一个连接包名和版本到其依赖关系集的映射。多亏了这个高效的系统,Yarn可以准确地告诉Node在哪里寻找所需的文件--不管是谁要求的!磁盘上的位置是缓存的。

磁盘上的位置是缓存。

你可以通过将这个放在你的 .yarnrc.yml 文件。

nodeLinker: node-modules

阅读更多关于 Plug'n'Play 此处

© www.soinside.com 2019 - 2024. All rights reserved.