安裝npm包有兩種方式:本地安裝或全局安裝。根據你想如何使用包,你可以選擇安裝方式。
如果你想要從你自己的模塊中通過使用Node.js的require方法來依賴某個包,那你可以本地安裝這個包,這是npm安裝的默認行為。另外,如果你想當做命令行工具使用它,比如grunt CLI,那你應該全局安這個包。
要學習更多關于安裝命令的行為,請查看CLI文檔頁面。
## 安裝
包可以用以下命令下載:
~~~
> npm install <package_name>
~~~
此命令將在你的當前目錄創建node_modules目錄(若還未安裝任何包),并將下載此包到這個目錄。
測試
為確保npm安裝正確工作,請檢查node_modules目錄是否存在,以及其下是否包含你安裝的包 目錄。你可以在Unix系統(如OSX、Debian)中執行“ls node_modules”命令或在Windows系統中執行“dir node_modules”命令來檢查。
例子:
安裝一個叫“lodash”的包。通過列出node_modules目錄內容,看看其中是否存在一個叫“lodash”的目錄,來確認成功執行命令。
~~~
> npm install lodash
> ls node_modules # windows中使用 `dir`
#=> lodash
~~~
## 安裝的是哪個版本的包?
如果在本地目錄中沒有package.json文件,那該包的最新版本會被安裝了。
如果有package.json文件,那么在package.json中聲明的滿足semver(語義化版本)規則的最新版本會被安裝。
## 使用已安裝的包
一旦包被安裝在node_modules,你就可以在你的代碼中使用它了。比如,當你創建Node.js模塊是,你可以引入它。
示例:
創建名為index.js的文件,其中的代碼如下:
~~~
// index.js
var lodash = require('lodash');
var output = lodash.without([1, 2, 3], 1);
console.log(output);
~~~
運行命令“node index.js”。終端將輸出[2, 3].
如果你沒有正確安裝lodash,你將收到如下錯誤:
~~~
module.js:340
throw err;
^
Error: Cannot find module 'lodash'
~~~
解決方法:cd到index.js同級目錄,運行“npm install lodash”命令。