有时候我们会收到这样的过时软件包:
这些npm outdated
输出为黄色的软件包不可升级,但是我想我自己 本地修复它们。
我在-
处看到了一种方法
https://stackoverflow.com/a/48321809/2125837
它将直截了当地更新到所有软件包的新主要版本。
我尝试过,但是这完全破坏了我的依赖性:
我得到了npm outdated
的干净输出-没有过时的依赖关系。
但是问题是npm list
现在显示出所有以前过时的依赖项都丢失了。
以下是详细信息:
$ npm outdated
Package Current Wanted Latest Location
eslint 5.16.0 5.16.0 6.8.0 mydemo
file-box 0.10.6 0.10.6 0.12.3 mydemo
npm-check-updates -u
npm install
$ npm outdated
# Now empty
但是
$ npm list
. . .
npm ERR! peer dep missing: eslint@^5.0.0, required by @typescript-eslint/eslint-plugin@1.13.0
npm ERR! peer dep missing: eslint@^5.0.0, required by @typescript-eslint/eslint-plugin-tslint@1.13.0
npm ERR! peer dep missing: eslint@^5.0.0, required by @typescript-eslint/parser@1.13.0
npm ERR! peer dep missing: eslint@^5.0.0, required by @typescript-eslint/eslint-plugin@1.13.0
npm ERR! peer dep missing: eslint@^5.0.0, required by @typescript-eslint/eslint-plugin-tslint@1.13.0
npm ERR! peer dep missing: eslint@^5.0.0, required by @typescript-eslint/parser@1.13.0
npm ERR! peer dep missing: file-box@^0.10.6, required by ...
. . .
我有什么办法可以手动解决我自己 本地的情况? (因为我认为,对于上述情况进行升级是相当安全的)
更新:是否可以/应该将版本0.10.6
自动升级到版本0.12.3
?此后,我阅读了许多文章,但尚未找到清晰明了的结论。
$ grep 'file-box' node_modules/mypkg/package.json
"file-box": "^0.10.6",
npm ERR! peer dep missing: file-box@^0.10.6, required by mypkg...