見例如:https://npmjs.org/package/generator-meteor涉及npm
NodeJS:爲什麼安裝說明總是說要使用NPM install -g(全局)?
幾乎所有的安裝說明說使用npm install -g
。爲什麼我想要全局安裝一切,而不僅僅是爲我當前的* nix用戶安裝?
見例如:https://npmjs.org/package/generator-meteor涉及npm
NodeJS:爲什麼安裝說明總是說要使用NPM install -g(全局)?
幾乎所有的安裝說明說使用npm install -g
。爲什麼我想要全局安裝一切,而不僅僅是爲我當前的* nix用戶安裝?
,而不是隻爲我當前的* nix用戶
在這種情況下本地的意思是「只有一個節點應用」,而不是「只爲我的用戶」。分別地,全局意味着「針對所有節點應用」,而不是「針對該計算機上的所有用戶」。
全局安裝的NPM模塊通常會實現跨應用程序使用的功能,而不只是在一個項目中使用。一個例子是一個命令行工具。您可以在全局安裝npm軟件包,併爲您提供一種從操作系統終端調用命令的方法。由於這在一個應用程序中沒有任何意義,因此您必須將其安裝在全球NPM位置。當然,在安裝之前,您需要確保模塊真的需要跨應用程序工作。
您已鏈接的生成器由Yeoman使用,它是腳手架應用程序的命令行工具。因此全球需求。
當您在package.json所在的目錄中執行npm install
時,npm會創建一個node_modules文件夾並將其放入所有項目包需求。
當你做npm install -g
安裝的軟件包到/usr/lib/node_modules/
使它們全球可用。 (-g代表'global')並允許CLI實現。像快遞(如express --sessions project
,至極無法使用,無需安裝快遞全球)
幾乎所有的教程需要全球的安裝,因爲他們使用CLI東西,以後你就能使用它們,因此是更好地爲您安裝它們。
但'npm install -g'需要超級用戶權限。爲什麼它只需要爲當前用戶安裝就需要超級用戶權限? – themirror