如何确定在我的本地 NPM 安装中哪些包(深层-依赖项,而不是顶级)已过时?
我运行以下命令:
npm install
在我的 package.json
中有这个:
"dependencies": {
"bluebird": "^3.3.4",
"body-parser": "~1.15.0",
"connect-flash": "^0.1.1",
"cookie-parser": "~1.4.1",
"debug": "~2.2.0",
"express": "~4.13.1",
"express-session": "^1.13.0",
"hbs": "~4.0.0",
"lodash": "^4.6.1",
"mkdirp-bluebird": "^1.0.0",
"morgan": "~1.7.0",
"opener": "^1.4.1",
"sequelize": "^3.19.3",
"serve-favicon": "~2.3.0",
"sqlite3": "^3.1.1"
},
得到如下输出:
$ npm install
npm WARN deprecated graceful-fs@3.0.8: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
npm WARN deprecated graceful-fs@1.2.3: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
在我的 package.json
中,所有包都是新鲜的,但一些深层依赖项已经过时,我不知道如何确定它们的WHICH..我想尽快完成;)
最佳答案
你想要...
npm install -g npm-check-updates
然后显示可用的更新
ncu
还有……
ncu -u
这实际上更改了 package.json
以反射(reflect) ncu
的输出。
如果这还不够......
ncu -m bower
还要检查新的 bower 包!
打包 npm-check-updates
和更多文档 is here
编辑 DEEP 依赖项
npm-check-updates
不提供深度选项。通过进一步研究,我发现 npm now provides一个 CLI 实用程序来做你想做的事。
这基本上允许你做......
npm outdated --depth=5
它提供与 npm-check-updates
类似的输出但也会检查深度。
请注意,默认深度为 0,即仅限顶级包。另请注意,npm outdated
仅列出
- 当前版本
- 想要的版本
- 最新版本
它实际上并不进行更新。
要更新包,请使用:
npm update --depth=5
npm 警告不要将深度选项与 npm-update 结合使用
关于javascript - 如何确定深度过时/弃用包 (NPM) 的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36329944/