【问题标题】:Node.js : How to centralise npm modules ?Node.js:如何集中 npm 模块?
【发布时间】:2017-08-05 23:03:03
【问题描述】:

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

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

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

【问题讨论】:

  • 为什么要避免使用本地/项目特定的模块?用例是什么?有关 npm 的全局与本地哲学的参考,请参阅 nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation
  • 因为某些原因对服务器端 node.js 感兴趣,但我暂时不打算上传任何项目,所以我更喜欢集中我的模块,就像在 python 中使用 pip 一样。不好的做法?好的,我会读的
  • 使用本地节点模块实际上是使用 npm 的方式。除非您有充分的理由使用共享全局模块,否则我肯定会避免使用它们。甚至一些 pip 用户也觉得 npm 的方法更好:medium.com/@alonisser/…

标签: javascript node.js npm npm-install


【解决方案1】:

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

npm install -g nodemon

当然,你也可以直接安装在你的项目目录中

npm install --save-dev nodemon

【讨论】:

    猜你喜欢
    • 2012-10-15
    • 2023-02-17
    • 2016-04-15
    • 2011-11-12
    • 1970-01-01
    • 2012-03-05
    • 2011-09-21
    相关资源
    最近更新 更多