3

运行npm update --depth=9999npm 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

我发现了类似的问题:1 , 2

  • 运行npm i不是解决方案,因为我们正在使用package-lock
  • 我想将依赖项保留在子包中,而不是根目录中package.json

我做错了什么,还是目前不支持它,应该只使用类似npm-check 的东西?

npm-check不能更新子依赖,所以要对整个依赖树进行完整更新,我们需要:

  • rm package-lock
  • rm -rf node_modules
  • npm cache clean
  • 在根和子包中手动更改版本
  • npm i
  • 提交新的package-lock

这是正确的还是有更好的方法来处理这个问题?

4

0 回答 0