NPM警告有关已弃用软件包的消息

时间:2016-02-06 02:41:59

标签: node.js npm

我正在全球安装模块

$ npm install -g X

和NPM说

  

“npm WARN已弃用lodash@1.0.2:lodash @< 3.0.0不再   保持。升级到lodash@^4.0.0“

如何找出哪个模块依赖于这个旧版本的lodash?

来自NPM的警告消息似乎没有给我任何线索哪个模块引用这个旧版本(我相信模块X没有直接依赖于这个旧版本的lodash。)。

5 个答案:

答案 0 :(得分:17)

我得到了类似问题的答案:https://stackoverflow.com/a/36335866/1115187

简言之:

npm outdated --depth=3

此命令将分析已安装的NPM包及其版本。该报告将包含:

  1. 包名称
  2. 最新版本
  3. 当前版本
  4. 依赖路径(低至depth级别)
  5. 希望,此信息可以帮助您收集有关过期软件包的信息。

    下一步 - 与相应软件包的维护人员联系,并要求他们更新软件包(可能,您希望发送拉取请求)。

    UPD:npm-check

    有一个很棒的npm包:npm-check,允许检查过时的依赖项。大概

    我最喜欢的功能:交互式更新 - 在项目文件夹中运行npm-check -u。交互式菜单显示当前文件夹中有关依赖项的所有必需信息,并允许在3秒内更新所有依赖项。

答案 1 :(得分:6)

npm la <package-name> 

也有效,并且会为您提供有关依赖项依赖关系图的最详细信息。

npm ls <package-name>,做了类似的事情但却没有给你更多细节

答案 2 :(得分:4)

使用npm list。它将打印出模块所依赖的所有软件包以及依赖项依赖性等。也许可以将输出重定向到文件或grep它,以便您可以更轻松地搜索它。

答案 3 :(得分:2)

您可以搜索node_modules下的所有package.json文件,看看哪些文件依赖于lodash 1.0.2。

答案 4 :(得分:0)

使用此

sudo npm install --unsafe-perm -g expo-cli