如何安裝本地包
有兩種方式用來安裝 npm 包:本地安裝和全局安裝。至於選擇哪種方式來安裝,取決於我們如何使用這個包。
- 如果你自己的模塊依賴於某個包,並通過 Node.js 的
require
加載,那么你應該選擇本地安裝,這種方式也是npm install
命令的默認行為。 - 如果你想將包作為一個命令行工具,(比如 grunt CLI),那么你應該選擇全局安裝。
想要了解更多關於 install
命令行的行為,可以查看 CLI 文檔。
安裝一個包
安裝
可以使用下面的命令來安裝一個包:npm install <package_name>
上述命令執行之后將會在當前的目錄下創建一個 node_modules
的目錄(如果不存在的話),然后將下載的包保存到這個目錄下。
測試:
為了確認 npm install
是正常工作的,可以檢查 node_modules
目錄是否存在,並且里面是否含有你安裝的包的文件夾。
實例:
安裝一個叫做 lodash
的包。安裝成功之后,如果 node_modules
目錄下存在一個名為 lodash
的文件夾,則說明成功安裝了這個包。
Microsoft Windows:
C:\ npm install lodash C:\ dir node_modules #=> lodash
macOS, Ubuntu, Debian
> npm install lodash > ls node_modules #=> lodash
哪個版本的包會被安裝了?
在本地目錄中如果沒有 package.json
這個文件的話,那么最新版本的包會被安裝。
如果存在 package.json
文件,則會在 package.json
文件中查找針對這個包所約定的語義化版本規則,然后安裝符合此規則的最新版本。
使用已安裝的包
一旦將包安裝到 node_modules
目錄中,你就可以使用它了。比如在你所創建的 Node.js 模塊中,你可以 require
這個包。
實例:
創建一個名為 index.js
的文件,並保存如下代碼:
運行 node index.js
命令。應當輸出 [2, 3]
。
如果你沒能正確安裝 lodash
,你將會看到如下的錯誤信息:
module.js:340
throw err; ^ Error: Cannot find module 'lodash'
可以在 index.js
所在的目錄中運行 npm install lodash
命令來修復這個問題。
如何更新本地安裝的包
定期更新你的應用所依賴的包(package)是個好習慣。因為依賴包的開發者更新了代碼,你的應用也就能夠獲得提升。
為了完成這個任務需要:
- 在
package.json
文件所在的目錄中執行npm update <package>
命令。 - 執行
npm outdated
命令。不應該有任何輸出。此命令將檢查注冊表,以查看當前是否有任何(或特定的)已安裝的包過期。
如何卸載本地安裝的包
如需刪除 node_modules 目錄下面的包(package),請執行:npm uninstall <package>
如需從 package.json
文件中刪除依賴,需要在命令后添加參數 --save也就是是:
npm uninstall --save <package>
注意:如果你將安裝的包作為 "devDependency"(也就是通過 --save-dev
參數保存的),那么 --save
無法將其從 package.json
文件中刪除。所以必須通過 --save-dev
參數可以將其卸載,也就是npm uninstall --save-dev <package>
試一試:
為了確定 npm uninstall
命令執行成功,請找到 node_modules
目錄,並在此目錄下檢查你所卸載的包(package)所對應的目錄是否消失了。
通過如下命令:
ls node_modules
在 Unix 系統中使用,例如 "OSX"dir node_modules
在 Windows 系統中使用。
實例:
安裝 lodash
。為了確認安裝成功,請檢查 node_modules
目錄下是否存在 lodash
目錄。
通過 npm uninstall
命令卸載 lodash
。為了確認執行成功,請檢查 node_modules
目錄下不存在 lodash
目錄。
安裝 Lodash
npm install lodash > dir node_modules # Unix 系統使用 `ls node_modules` 命令
卸載 Lodash
#=> lodash > npm uninstall lodash > dir node_modules # Unix 系統使用 `ls node_modules` 命令 #=>