假设我有一个使用普通 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 中删除工作区/包的正确方法是什么?