node npm 为啥所有模块都安装在根 node_modules 文件夹中?

Posted

技术标签:

【中文标题】node npm 为啥所有模块都安装在根 node_modules 文件夹中?【英文标题】:Node npm why all the modules are installed in the root node_modules folder?node npm 为什么所有模块都安装在根 node_modules 文件夹中? 【发布时间】:2016-03-25 04:50:41 【问题描述】:

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

【问题讨论】:

【参考方案1】:

也许,你更新了你的 npm? 因为,根据文档,他们在 v3.5.0 中以扁平化为特色:"Only your direct dependencies will show in node_modules and everything they depend on will be flattened in their node_modules folders"

【讨论】:

【参考方案2】:

全球图书馆

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

在 *nix 系统上,当全局安装时,它们通常放置在 /usr/local/lib/node 或 /usr/local/lib/node_modules 中。如果将 NODE_PATH 环境变量设置为该路径,则可以通过节点找到模块。

非全局库

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

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

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

【讨论】:

以上是关于node npm 为啥所有模块都安装在根 node_modules 文件夹中?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 NPM 安装安装旧版本的 node-sass

Node.js之包命令(npm和yarn)

NPM 入门

NPM 入门

Node.js:如何创建付费节点模块?

node npm run watch退出状态3221225725