Avatar ·

npm 将包安装到哪里?以及如何找到 node_modules 文件夹?

大家好!我刚开始学习 Node.js 和 npm,对于 npm 到底把包安装在哪里感到困惑。 情况是这样的:我创建了一个项目,执行了 `npm init -y`,然后用命令 `npm install express` 安装了 express。在项目文件夹中出现了 `node_modules` 文件夹。但是当我通过 `npm install -g nodemon` 全局安装 nodemon 包时,我在我的项目中找不到它。那它在哪里?为什么有些包安装在项目中,而有些安装在其他地方? 我还注意到,当我从 GitHub 克隆别人的项目并执行 `npm install` 时,包会安装在项目的根文件夹中。但如果我有包含 package.json 的子文件夹呢?例如,结构如下: ``` my-project/ ├── package.json ├── server/ │ └── package.json └── client/ └── package.json ``` 如果我在根目录执行 `npm install`,包会进入 `server/node_modules` 吗?还是 npm 会创建一个公共文件夹?我担心不小心弄乱系统或遇到版本冲突。请解释一下。