我正在全球安装模块
$ npm install -g X
和NPM说
“npm WARN已弃用lodash@1.0.2:lodash @< 3.0.0不再 保持。升级到lodash@^4.0.0“
如何找出哪个模块依赖于这个旧版本的lodash?
来自NPM的警告消息似乎没有给我任何线索哪个模块引用这个旧版本(我相信模块X没有直接依赖于这个旧版本的lodash。)。
答案 0 :(得分:17)
我得到了类似问题的答案:https://stackoverflow.com/a/36335866/1115187
简言之:
npm outdated --depth=3
此命令将分析已安装的NPM包及其版本。该报告将包含:
depth
级别)希望,此信息可以帮助您收集有关过期软件包的信息。
下一步 - 与相应软件包的维护人员联系,并要求他们更新软件包(可能,您希望发送拉取请求)。
有一个很棒的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