Node.js : 如何集中 npm 模块?

Node.js : How to centralise npm modules ?

我在 Windows 上安装 node-canvasnpm 时遇到了一些问题。它引导我做了很多测试,更改了一些环境变量、参数等...

非常烦人的是,如果我在硬盘上的任何位置执行“npm install -g canvas”,它会在本地创建一个文件夹“node_modules”...我没有注意到现在我到处都有一些 'node_modules' 文件夹(无聊)-_-'!我以为它只在 users/user_name/appdata/roaming/npm

我了解到大多数人更喜欢在 projet 文件夹中安装节点的依赖项。它可能解释了 npm 这样的行为。如何避免这种情况?

人们为当前工作目录(项目目录)安装节点模块有几个原因。主要原因是如果您只打算在特定项目中使用某些东西,那么您想在本地安装节点模块。此外,这有助于为您的特定项目使用正确的版本。唯一应该全局安装 npm 模块的情况是它们被当前项目之外的其他东西使用。 一个很好的例子是 nodemon,它监视启动 nodemon 的目录中的文件,如果有任何文件更改,它将自动重新启动应用程序。因此,为此,您可以全局安装

npm install -g nodemon

当然你也可以只安装在你的项目目录下

npm install --save-dev nodemon