【发布时间】:2016-02-06 02:41:59
【问题描述】:
我正在全局安装一个模块
$ npm install -g X
NPM 说
"npm WARN 已弃用 lodash@1.0.2:lodash@
如何找出哪个模块依赖于这个旧版本的 lodash?
来自 NPM 的警告消息似乎没有给我任何线索,哪个模块引用了这个旧版本(我相信模块 X 没有直接依赖于这个旧版本的 lodash。)。
【问题讨论】:
我正在全局安装一个模块
$ npm install -g X
NPM 说
"npm WARN 已弃用 lodash@1.0.2:lodash@
如何找出哪个模块依赖于这个旧版本的 lodash?
来自 NPM 的警告消息似乎没有给我任何线索,哪个模块引用了这个旧版本(我相信模块 X 没有直接依赖于这个旧版本的 lodash。)。
【问题讨论】:
我得到了类似问题的答案:https://stackoverflow.com/a/36335866/1115187
简单地说:
npm outdated --depth=3
此命令将分析已安装的 NPM 包及其版本。报告将包含:
depth级别)希望,这些信息可以帮助您收集有关过时软件包的信息。
下一步 - 与相应包的维护者联系,并要求他们更新包(也许,您想发送拉取请求)。
有一个很棒的 npm 包:npm-check,它允许检查过时的依赖项。可能
我最喜欢的功能:交互式更新——在项目文件夹中运行npm-check -u。交互式菜单显示有关当前文件夹中依赖项的所有必需信息,并允许在 3 秒内更新所有依赖项。
【讨论】:
package.json,使wanted版本规范匹配最新版本。如果假设降级 - 阅读有关该依赖项的文档,为什么维护人员将最新版本设置为不在边缘,并在需要时创建新问题。以下是关于 latest 和 wanted 的官方文档:docs.npmjs.com/cli/outdated
@types/commander,它无法检测到它已被弃用
npm la <package-name>
也可以,并且会为您提供有关依赖关系图的最详细信息。
npm ls <package-name>,做了类似的事情,但给你的细节更少
【讨论】:
npm outdated 不错,但可能会吐出很多其他不会给您带来任何麻烦的软件包。
使用npm list。它将打印出你的模块所依赖的所有包以及你的依赖关系等等。也许将输出重定向到文件或 grep 以便您可以更轻松地搜索它。
【讨论】:
npm i --save lodash 将 lodash 更新到最新版本来修复。它对我有用。
使用这个
sudo npm install --unsafe-perm -g expo-cli
【讨论】:
您可以搜索 node_modules 下的所有 package.json 文件,看看哪些依赖于 lodash 1.0.2。
【讨论】: