2013-10-24 79 views

回答

3

,而不是隻爲我當前的* nix用戶

在這種情況下本地的意思是「只有一個節點應用」,而不是「只爲我的用戶」。分別地,全局意味着「針對所有節點應用」,而不是「針對該計算機上的所有用戶」。

全局安裝的NPM模塊通常會實現跨應用程序使用的功能,而不只是在一個項目中使用。一個例子是一個命令行工具。您可以在全局安裝npm軟件包,併爲您提供一種從操作系統終端調用命令的方法。由於這在一個應用程序中沒有任何意義,因此您必須將其安裝在全球NPM位置。當然,在安裝之前,您需要確保模塊真的需要跨應用程序工作。

您已鏈接的生成器由Yeoman使用,它是腳手架應用程序的命令行工具。因此全球需求。

+0

但'npm install -g'需要超級用戶權限。爲什麼它只需要爲當前用戶安裝就需要超級用戶權限? – themirror

0

當您在package.json所在的目錄中執行npm install時,npm會創建一個node_modules文件夾並將其放入所有項目包需求。

當你做npm install -g安裝的軟件包到/usr/lib/node_modules/使它們全球可用。 (-g代表'global')並允許CLI實現。像快遞(如express --sessions project,至極無法使用,無需安裝快遞全球)

幾乎所有的教程需要全球的安裝,因爲他們使用CLI東西,以後你就能使用它們,因此是更好地爲您安裝它們。