节点NPM – 安装与安装-g
我是一个节点新手,并与整个“安装”的东西有点困惑。
install
和install -g
什么区别?
用install -g
东西可以在任何地方访问,或者这可以让它可用于节点服务器,但不是你的应用程序? 有没有任何理由使用一个,而不是另一个?
干杯
从node.js博客:
-
如果您正在安装您要在程序中使用的东西,请使用require('whatever'),然后将其安装到您的项目的根目录。
-
如果你正在安装你想在你的shell中使用的东西,在命令行或者其他地方安装,那么它的二进制文件就会在你的PATH环境variables中。
例如,假设你想安装Grunt CLI。 很可能你会在多个项目中使用Grunt,所以你需要使用-g
来全局安装。
现在让我们说你正在开发一个项目,你的项目需要一个模块,比如Express。 您将cd
到您的项目根目录并安装没有 -g
的模块。
这是一个更深入的解释。
install
意味着该模块将在您的本地 node_modules
文件夹中创build,强烈build议您为应用程序所依赖的任何东西(用于版本控制等等)。
install -g
意味着在您的机器上全局安装模块。 通常只build议使用这些模块来执行与应用程序执行无关的任务。
简单的例子是Yeoman发电机 , Express发电机 , PhantomJS等。
这里有一个官方的博客文章
唯一的区别是npm install mod
会将它安装在你的本地目录中。 假设你正在'projectA'目录下工作。 所以
> npm install mod
将安装“国防部”
> projectA/node_modules/mod/
所以projectA中的任何.js
文件都可以通过require('mod')
来使用这个模块
而'npm install mod -g`会将其全局安装在用户的节点模块目录中。 它会在某个地方
> /usr/bin/npm/node_modules/modA
你可以在你的任何项目中的任何地方使用这个模块,除此之外,如果在'modA'中有任何terminal命令。 它将可以从你的terminal目录访问。
> modA --version > version 1.1