2014-01-16 38 views
1

我是一个节点新手,与整个“安装”有点混淆。节点NPM - 安装与安装-g

installinstall -g有什么区别?

可以在任何地方访问与install -g一起安装的东西,还是这可以让它可用于节点服务器,但不是您的应用程序?有没有任何理由使用一个,而不是另一个?

干杯

+0

这里不详细介绍吗? https://npmjs.org/doc/files/npm-folders.html – Aioros

回答

4

从Node.js的博客:

  • 如果你安装你想要在你的程序中使用,使用需要的东西(“不管”),然后在本地进行安装,在你的项目的根源。

  • 如果你正在安装一些你想在你的shell中使用的东西,在命令行或者其他东西上,请全局安装它,这样它的二进制文件就会放到你的PATH环境变量中。

例如,假设您想要安装Grunt CLI。赔率是你会在多个项目中使用Grunt,所以你需要使用-g来安装全球

现在让我们说您正在开发一个项目,并且您的项目将需要一个模块,如Express。你会cd到您的项目根目录,并安装模块没有-g

Here是一个更深入的解释。

2

install意味着该模块将在极力推荐任何应用程序依赖于(对于版本,除其他原因)你本地node_modules文件夹中创建。

install -g表示在您的机器上安装模块全球。这通常是只推荐使用执行与应用程序执行无关的任务的模块。

的这个简单的例子是Yeoman generators,该Express generatorPhantomJS

有一个关于它here

1

唯一的区别是npm install mod将在您的本地目录中安装它的官方博客文章。假设您正在'projectA'目录中工作。所以

> npm install mod 

将在

> projectA/node_modules/mod/ 

安装 “国防部” 所以任何.js文件中了projectA可以随便说require('mod')

,而使用这个模块“故宫安装MOD -g`将安装全局在用户的节点模块目录中。这将是在某个地方

> /usr/bin/npm/node_modules/modA 

如果有任何终端命令是在有“MODA”您可以使用此模块中的任何项目的任何地方,除了这一点。它将可以从你的终端目录访问。

> modA --version 
> version 1.1