2014-01-16 205 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