我正在使用纱线工作区,我在package.json中有这个包:
"workspaces": ["packages/*"]
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个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
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
error发生意外错误:" https://registry.yarnpkg.com/@cutting%2futil:Not found"
@cutting/util 是我的一个工作区包的名称.
所以问题是docker镜像中没有源代码,所以它试图从yarnpkg安装它.
部署到docker镜像时处理工作空间的最佳方法是什么.
该代码将无法在docker vm之外运行,因此也会在docker内拒绝。
问题是您已经构建了一个代码,然后复制捆绑的代码。纱线工作区正在寻找文件夹中package.json没有的纱线dist。工作区只是在公共node_modules文件夹中创建到您正在使用的其他工作区的链接。那里需要源代码。(顺便说一句,为什么不在docker vm内部构建代码?那样,源代码和dist也将可用。)
| 归档时间: |
|
| 查看次数: |
1440 次 |
| 最近记录: |