NPM更新并使用文件删除了本地路径:

时间:2019-02-11 09:02:22

标签: javascript npm lerna monorepo

运行npm update --depth=9999npm outdated --depth=9999会跳过local path依赖性。

我认为它们将像其他已发布的软件包一样。

我们从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不会使用根node_modules

Package                Current   Wanted   Latest  Location
react                  MISSING   16.8.0   16.8.1  @org/app

我发现了类似的问题:12

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

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

npm-check无法更新子依赖关系,因此,要完整更新整个依赖关系树,我们需要:

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

这是正确的还是有更好的方法来处理呢?

0 个答案:

没有答案