【发布时间】:2018-02-24 23:00:49
【问题描述】:
我正在使用纱线工作区,我的 package.json 中有这个包:
"workspaces": ["packages/*"]
我正在尝试创建要部署的 docker 映像,并且我有以下 Dockerfile:
# production dockerfile
FROM node:9.2
# add code
COPY ./packages/website/dist /cutting
WORKDIR /cutting
COPY package.json /cutting/
RUN yarn install --pure-lockfile && yarn cache clean --production
CMD npm run serve
但我收到以下错误:
error 发生意外错误: "https://registry.yarnpkg.com/@cutting%2futil: 未找到"
@cutting/util 是我的一个工作区包的名称。
所以问题是 docker 镜像中没有源代码,所以它试图从 yarnpkg 安装它。
部署到 docker 映像时处理工作区的最佳方式是什么。
【问题讨论】:
-
dist文件夹在这里包含什么? @Glogo -
dist 是 webpack 构建的捆绑的 javascript、css 和 index.html
-
任何示例项目git repo,我都可以试试。
-
一种可能的解决方案是将包直接复制到 docker image
RUN yarn add file:./@cutting/util但必须有更好的方法 -
我最终发布了 npm 包并走这条路