如何确定深度过时/不推荐使用的包(NPM)的路径

How to determine path to deep outdated/deprecated packages (NPM)?

本文关键字:NPM 路径 深度 何确定 过时      更新时间:2023-10-15

如何确定本地node_modules文件夹中哪些包(deep-依赖项,而非顶级)已过时?

我运行以下命令:

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中,所有包裹都是新鲜的。但是一些深度依赖已经过时了,我不知道如何确定哪个,我也不知道是哪个显式安装的包导致了奖金:如果我能很快做到;)

您想要。。。

npm install -g npm-check-updates

然后显示可用的更新

ncu

还有。。。

ncu -u

其实际上改变CCD_ 4以反映CCD_。

如果这还不够的话。。。

ncu -m bower

检查新的bower包也!

npm-check-updates和更多文档在此处

编辑DEEP依赖项

npm-check-updates不提供深度选项。经过进一步的研究,我发现npm现在提供了一个CLI实用程序来执行您想要的操作。

这基本上允许你做。。。

npm outdated --depth=5

其提供类似于CCD_ 8的输出,但也检查深度。

请注意,默认深度为0,即仅限顶级包。还要注意,npm outdated仅列出

  • 当前版本
  • 所需版本
  • 最新版本

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

要更新软件包,请使用:

npm update --depth=5

npm警告不要将深度选项与npm更新结合使用

另一个选项(我后来找到了)--npm检查(感谢Hannah Wolfe)

安装:

npm install npm-check --global

检查并更新当前项目的依赖项:

npm-check -u