节点npm为什么所有的模块都安装在根节点node_modules文件夹中?

在以前安装npm模块的时候,这个模块依赖的所有模块都安装在这个模块文件夹下的npm_modules文件夹下,但是现在所有的模块都安装在根节点的node_modules文件夹下,为什么?

也许,你已经更新了你的npm? 根据文档,原因是他们在v3.5.0中展开了展开: “只有你的直接依赖会显示在node_modules中,并且他们所依赖的所有东西都将在其node_modules文件夹中展开”

全球图书馆

您可以运行* npm list – * g来查看全局库的安装位置。

在* nix系统上,全局安装时,它们通常放置在/ usr / local / lib / node或/ usr / local / lib / node_modules中。 如果将NODE_PATH环境variables设置为此path,则可以按节点查找模块。

非全球图书馆

非全局库安装在当前文件夹中的node_modules子文件夹中。

您可以运行npm列表查看当前位置的已安装的非全局库。

您可以通过运行npm config get prefix来validation根据输出,您可能需要更改安装全局程序包的位置。 希望我能够提供见解和可能的帮助。 干杯!