一尘不染

为什么npm install说我有未满足的依赖关系?

node.js

我有一个节点包。当我npm install从程序包的根目录运行时,它会安装很多东西,但是会打印出一些如下所示的错误消息:

npm WARN未满足依赖项/ Users / seanmackesey / google_drive / code / explore /
generator / node_modules / findup-sync / node_modules / glob需要graceful-
fs@’~1.2.0’但会加载

我对确切的npm install功能感到困惑。如果它检测到依赖性,是否应该安装它?在什么情况下它会给我这样的错误消息,以及如何解决依赖关系?


阅读 273

收藏
2020-07-07

共1个答案

一尘不染

我相信这是因为依赖项解析有点中断,请参阅https://github.com/npm/npm/issues/1341#issuecomment-20634338

以下是可能的解决方案:

  1. 手动需要安装包含未满足的依赖项的顶级模块: npm install findup-sync@0.1.2

  2. 重新构造您的package.json。将所有高级模块(作为其他模块的依赖项)放在底部。

  3. 重新运行npm install命令。

该问题可能是由于超时或其他原因导致npm无法下载所有软件包所致。

注意:您也可以使用手动安装失败的软件包npm install findup-sync@0.1.2

在运行之前npm install,执行以下步骤可能会有所帮助:

  • 使用以下命令删除node_modules rm -rf node_modules/
  • npm cache clean

为什么有时需要“删除node_modules”?如果在期间无法安装嵌套模块npm install,则后续模块npm install将不会检测到那些缺少的嵌套依赖项。

如果是这种情况,有时只需删除那些缺少的嵌套模块的顶级依赖关系,然后npm install再次运行即可。看到

2020-07-07