我是节点新手,并且对整个“安装”事情感到有些困惑。
install
和install -g
之间有什么区别?
可以在任何地方访问安装了install -g
的内容,或者是否可以将其提供给节点服务器而不是您的应用程序?有没有理由使用一个,而不是另一个?
干杯
答案 0 :(得分:4)
来自node.js博客:
如果您要在程序中安装要使用的东西,请使用require('whatever'),然后在项目的根目录下在本地安装。
如果您要在shell中安装要在shell中使用的东西,请在命令行或其他东西上安装,以便它的二进制文件最终在您的PATH环境变量中。
例如,假设您要安装Grunt CLI。您可能会在多个项目中使用Grunt,因此您需要使用-g
安装全球。
现在假设你正在开发一个项目,你的项目需要一个像Express这样的模块。您可以cd
到项目根目录并安装模块,不用 -g
。
Here是一个更深入的解释。
答案 1 :(得分:2)
install
表示该模块将在本地 node_modules
文件夹中创建,强烈建议您使用该应用程序所依赖的任何内容(用于版本控制,以及其他原因)。< / p>
install -g
表示在您的计算机上安装全局模块。这通常仅 建议用于执行与应用程序执行无关的任务的模块。
简单示例包括Yeoman generators,Express generator,PhantomJS等。
有一篇关于它的官方博客文章here
答案 2 :(得分:1)
唯一的区别是npm install mod
会将其安装在您的本地目录中。假设您正在使用'projectA'目录。所以
> npm install mod
将在
中安装“mod”> projectA/node_modules/mod/
所以projectA中的任何.js
文件只需说出require('mod')
而'npm install mod -g`将全局安装在用户的节点模块目录中。它将在
中的某个地方> /usr/bin/npm/node_modules/modA
你可以在任何项目的任何地方使用这个模块,除此之外,如果'modA'中有任何终端命令。它可以从您的终端目录访问。
> modA --version
> version 1.1