pnpm 工作区:* 依赖项

2024-02-05

我在 Docker 容器内安装部分 pnpm monorepo 时遇到严重问题。 问题是docker build在某些方面失败devDependencies甚至不应该安装。

  "devDependencies": {
    "@types/node": "17.0.12",
    "@types/ssh2-sftp-client": "7.0.0",
    "dotenv": "14.3.2",
    "eslint": "8.7.0",
    "ts-node": "10.4.0",
    "typescript": "4.5.5",
    "@tts-tmc/eslint-config-typescript": "workspace:*",
    "@tts-tmc/ts-config": "workspace:*"
  }

in my Dockerfile我使用 fetch 来获取所有依赖项

FROM node:14-alpine
ARG GITHUB_NPM_REGISTRY_TOKEN

RUN npm i -g pnpm
RUN mkdir -p /usr/app
# pnpm fetch does require only lockfile
COPY package.json bin/pnpm-lock.yaml /usr/app/
COPY bin/.npmrc /usr/app/.npmrc
WORKDIR /usr/app
RUN pnpm install -r --offline --prod

但即使如此--prod应该安装依赖项,docker由于以下错误而无法正确构建

ERR_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE  In : No matching version found for @tts-tmc/eslint-config-typescript@* inside the workspace

那么有没有标准的方法来解决这个问题呢?或者我是否必须修改 package.json,如果是这样,你将如何获得正确的版本?我以为是‘lockfile’?应该足以安装所有依赖项。

问候 马蒂亚斯


从转移时遇到同样的错误yarn to pnpm!只需添加即可解决pnpm-workspace.yaml包含以下内容:

packages:
  - "apps/*"
  - "packages/*"

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pnpm 工作区:* 依赖项 的相关文章

随机推荐