运行npm update --depth=9999
或npm outdated --depth=9999
跳过本地路径依赖项。
我认为它们将充当任何其他已发布的软件包。
我们从 monorepo 的根目录运行命令:
@org/
app/
package.json
package.json
package-lock.json
package.json
"dependencies": {
"@org/app": "file:@org/app"
},
"devDependencies": {
"prettier": "^1.16.3",
}
@org/app/package.json
"dependencies": {
"react": "^16.8.0"
}
此外,npm outdated
从子包目录运行时,NPM 不使用 root node_modules
。
Package Current Wanted Latest Location
react MISSING 16.8.0 16.8.1 @org/app
- 运行
npm i
不是解决方案,因为我们正在使用package-lock
- 我想将依赖项保留在子包中,而不是根目录中
package.json
我做错了什么,还是目前不支持它,应该只使用类似npm-check 的东西?
npm-check
不能更新子依赖,所以要对整个依赖树进行完整更新,我们需要:
rm package-lock
rm -rf node_modules
npm cache clean
- 在根和子包中手动更改版本
npm i
- 提交新的
package-lock
这是正确的还是有更好的方法来处理这个问题?