【发布时间】:2019-10-28 09:09:07
【问题描述】:
我有一个看起来像这样的纱线工作区项目:
node_modules
packages
shared
test.js
package.json
client
test.js
package.json
server
test.js
package.json
package.json
server.Dockerfile
如您所见,我有一个 server.Dockerfile,它构建了一个服务器映像,我可以将其推送到不同的托管服务提供商,例如 Heroku 或 AWS。
我将packages 和package.json 复制到这个容器中:
COPY packages packages
COPY package.json .
然后我只安装 server 包的依赖项:
RUN cd packages/server && yarn install
所有的依赖现在都在node_modules文件夹中,接下来我想到的就是删除packages文件夹以从docker镜像中删除任何不必要的代码(例如客户端代码):
RUN rm -rf packages
问题在于node_modules 文件夹中的所有纱线工作区包都只是指向packages 文件夹的符号链接...所以我无法删除该文件夹。
如何让
yarn install复制 yarn 工作区包而不是创建符号链接?或者,是否有其他方法可以删除所有未使用的代码(例如客户端代码),这样我的 docker 映像就不会臃肿?
【问题讨论】: