Mat*_*ker 9 node.js dockerfile pnpm
我在 Docker Conatiner 内安装部分 pnpm monorepo 时遇到严重问题。\n问题是docker build在某些devDependencies甚至不应该安装的地方失败。
"devDependencies": {\n "@types/node": "17.0.12",\n "@types/ssh2-sftp-client": "7.0.0",\n "dotenv": "14.3.2",\n "eslint": "8.7.0",\n "ts-node": "10.4.0",\n "typescript": "4.5.5",\n "@tts-tmc/eslint-config-typescript": "workspace:*",\n "@tts-tmc/ts-config": "workspace:*"\n }\nRun Code Online (Sandbox Code Playgroud)\n在我的Dockerfile,我使用 fetch 来获取所有依赖项
FROM node:14-alpine\nARG GITHUB_NPM_REGISTRY_TOKEN\n\nRUN npm i -g pnpm\nRUN mkdir -p /usr/app\n# pnpm fetch does require only lockfile\nCOPY package.json bin/pnpm-lock.yaml /usr/app/\nCOPY bin/.npmrc /usr/app/.npmrc\nWORKDIR /usr/app\nRUN pnpm install -r --offline --prod\nRun Code Online (Sandbox Code Playgroud)\n但即使如此--prod安装了依赖项,docker 也无法正确构建,因为出现以下错误
ERR_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE\xe2\x80\x89 In : No matching version found for @tts-tmc/eslint-config-typescript@* inside the workspace
那么有没有标准的方法来解决这个问题呢?或者我是否必须修改 package.json,如果是这样,你将如何获得正确的版本?我以为是‘lockfile’?应该足以安装所有依赖项。
\n问候\n马蒂亚斯
\n| 归档时间: |
|
| 查看次数: |
5829 次 |
| 最近记录: |