npm 从 monorepo 中删除工作区

问题描述 投票:0回答:1

假设我有一个使用普通 NPM 管理的现有 monorepo 并配置了

workspaces: ["packages/*"]
,我如何删除一个包,比如
packages/foobar

我通常的解决方案是先

git rm -rf packages/foobar
然后
npm install
来更新
package-lock.json

但是,这仍然在

package-lock.json
中留下了我需要手动删除的条目:

    "packages/foobar": {
      "name": "@mycompany/foobar",
      "version": "1.2.3",
      "extraneous": true,
      "license": "MIT",
      "dependencies": {
        /* ... */
      },
      "devDependencies": {
        /* ... */
      },
      "engines": {
        "node": ">= 16",
        "npm": ">= 7"
      }
    },

从 NPM 管理的 monorepo 中删除工作区/包的正确方法是什么?

npm
1个回答
0
投票

20 个月前,有人提出了这个问题,并发布了 PR 将其修复到 NPM CLI GitHub 存储库,但到目前为止还没有人批准。

另一方面,pnpm 可以完美地处理它。这说明了与 npm 相比,pnpm 多么关心其工作区功能。因此,我决定放弃 npm 并使用 pnpm。

© www.soinside.com 2019 - 2024. All rights reserved.