如何确定哪些软件包(深 - 依赖关系,而不是顶级软件包)在我的本地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 ..我想要快点做;)
答案 0 :(得分:11)
npm install -g npm-check-updates
然后显示可用的更新
ncu
也...
ncu -u
实际上会更改package.json
以反映ncu
的输出。
如果这还不够......
ncu -m bower
检查新的凉亭包裹!
包npm-check-updates
以及更多文档is here
npm-check-updates
未提供深度选项。通过进一步的研究,我发现npm now provides是一个能够做你想做的事情的CLI。
这基本上允许你做...
npm outdated --depth=5
提供与npm-check-updates
类似的输出,但也会检查深度。
请注意,默认深度仅为0 viz顶级包。另请注意,npm outdated
仅列出
它实际上并没有进行更新。
要更新包使用:
npm update --depth=5
npm警告不要将深度选项与npm-update 一起使用
答案 1 :(得分:0)
另一个选项(我后来发现) - npm-check(感谢Hannah Wolfe)
安装:
npm install npm-check --global
检查并更新当前项目的依赖项:
npm-check -u