npm是什麼?
npm是一個強大的包管理工具,它使開發人員能夠輕鬆地安裝、更新和管理專案依賴的包。透過初始化一個package.json 檔案,我們可以描述你的專案並記錄其依賴關係。使用npm install
命令,我們可以安裝和管理包。使用npm publish
命令,我們可以釋出自己的包(由於日常很少涉及釋出自己的包,這裡就不總結了)。無論是在開發過程中還是在分享你的包時,npm都提供了豐富的功能和命令來滿足你的需求。
但是在日常搜尋網上文章時,發現網上的文章總結的一大堆,而這個npm很多時候對於我們來說就是一個工具,並不涉及多麼高深的學習,所以,我這裡的這篇文章就進行高度概括的總結,力爭透過這一篇文章讓大家會用npm。
npm安裝&升級
npm不需要單獨安裝。在安裝Node的時候,會連帶一起安裝npm。但是,Node附帶的npm可能不是最新版本,最後用下面的命令,更新到最新版本。
$ sudo npm install npm@latest -g
如果是 Window 系統使用以下命令即可:
npm install npm -g
然後,執行下面的命令,檢視各種資訊。
# 檢視 npm 命令列表
$ npm help
# 檢視各個命令的簡單用法
$ npm -l
# 檢視 npm 的版本
$ npm -v
# 檢視 npm 的配置
$ npm config list -l
解決下載包慢的問題
因為npm的包伺服器在國外,在國內速度很慢且不穩定,所以在國內就有很多企業架設了國內的映象,方便國內開發者使用,日常過程中,我們經常使用的是淘寶的映象源,透過以下命令進行配置即可:
// 1. 清空快取
npm cache clean --force
// 2. 切換新源
npm config set registry https://registry.npmmirror.com
配置全域性依賴的儲存路徑&快取路徑
一般情況下,我們都會對全域性包儲存路徑和快取路徑進行自定義,自定義方式如下:
在想要儲存的目錄下新建【node_global】及【node_cache】資料夾,然後執行以下兩條命令:
npm config set prefix "/Users/Jelly/Repository/node_global"
npm config set cache "/Users/Jelly/Repository/node_cache"
npm常用指令
命令 | 說明 |
---|---|
npm init | 初始化一個新的npm專案,並生成package.json檔案 |
npm install | 安裝專案依賴的所有包 |
npm install <package> | 安裝指定的包 |
npm install --save <package> | 安裝指定的包,並將其新增到dependencies 欄位中 |
npm install --save-dev <package> | 安裝指定的包,並將其新增到devDependencies 欄位中 |
npm uninstall <package> | 解除安裝指定的包 |
npm update | 更新專案依賴的所有包 |
npm update <package> | 更新指定的包 |
npm run <script> | 執行package.json檔案中定義的指令碼 |
npm search <keyword> | 搜尋包 |
npm ls | 列出專案依賴的所有包 |
npm cache clear | 清空快取 |
常用的命令就上表中的那麼幾個,基本覆蓋了我們日常90%的場景,如果遇到不在上表中的,再上網搜尋就OK了。
npm install
和npm install -g
的區別
npm install
說明:
npm install
是針對當前專案進行包安裝,當執行npm install package-name
時,npm會自動下載並安裝指定的依賴包,並將包儲存到專案的node_modules
目錄中;- 使用
npm install
命令時,如果當前目錄下存在一個package.json
檔案,那麼npm會自動將安裝的依賴包加入到package.json
檔案的dependencies
欄位中。
npm install -g
說明:
npm install -g
命令用於全域性安裝npm包,npm包可以作為全域性命令列工具使用,比如vue-cli
、create-react-app
等。這些工具在命令列中可以直接呼叫,而不需要在每個專案中都單獨安裝;- 全域性安裝的npm包會被安裝到全域性的
node_modules
目錄中,可以透過npm root -g
命令檢視全域性node_modules
的路徑。
npm install --save
和npm install --save-dev
的區別
npm install --save
說明:
- 安裝專案正常執行所必需的包。在專案釋出時,依賴包的安裝和版本資訊會被自動讀取,確保專案在其他環境中的正確執行;
- 安裝依賴包,並將依賴包資訊儲存到
package.json
檔案的dependencies
欄位中。
npm install --save-dev
說明:
- 安裝開發環境所需的依賴包。這些依賴包通常是專案開發過程中需要用到的工具、測試框架、模擬資料等;
安裝依賴包,並將依賴包資訊儲存到
package.json
檔案的devDependencies
欄位中。總結
很多時候,對於很多知識,我們只需要掌握並且能熟練使用即可,並不需要深入其背後去了解原理,而這篇文章就是這樣的一篇入門級保姆文章,一篇讓你掌握並學會使用npm。