如何确定深度过时/弃用软件包(NPM)的路径?

max*_*kov 7 javascript node.js npm

如何确定哪些软件包(深度依赖,而不是顶级)在我的本地NPM安装中已过时?

我运行以下命令:

npm install
Run Code Online (Sandbox Code Playgroud)

在我的这个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"
},
Run Code Online (Sandbox Code Playgroud)

并获得以下输出:

$ 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.
Run Code Online (Sandbox Code Playgroud)

在我package.json所有的包都是新鲜的,但一些深层次的依赖已经过时了,我不知道,如何确定WHICH他们的..我想快快行动吧;)

dan*_*y74 13

你要 ...

npm install -g npm-check-updates
Run Code Online (Sandbox Code Playgroud)

然后显示可用的更新

ncu
Run Code Online (Sandbox Code Playgroud)

还......

ncu -u
Run Code Online (Sandbox Code Playgroud)

实际上改变package.json以反映的输出ncu.

如果这还不够......

ncu -m bower
Run Code Online (Sandbox Code Playgroud)

检查新的凉亭包!

npm-check-updates和更多文档在这里

编辑DEEP依赖项

npm-check-updates不提供深度选项.通过进一步的研究,我发现npm 现在提供了一个CLI,可以做你想做的事情.

这基本上允许你做...

npm outdated --depth=5
Run Code Online (Sandbox Code Playgroud)

它提供类似的输出,npm-check-updates 也检查深度.

请注意,默认深度仅为0 viz顶级包.另请注意,npm outdated只有列表

  • 当前版本
  • 想要的版本
  • 最新版本

它实际上并没有进行更新.

要更新包使用:

npm update --depth=5
Run Code Online (Sandbox Code Playgroud)

npm警告不要将depth选项与npm-update结合使用

  • `npm outdated --depth=5` 和 `npm update` ——我的选择!谢谢;) (2认同)
  • 讽刺的是,当我安装 npm-check-updates 时,我如何收到“npm WARN deprecated”消息:) (2认同)