节点NPM – 安装与安装-g

我是一个节点新手,并与整个“安装”的东西有点困惑。

installinstall -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