首先做一個基本的分類
名稱 | 描述 |
npm,cnpm,yarn,pnpm | 都是Javascript包管理器 |
nvm | 是Node.js版本控制器 |
npx | 命令行工具 |
I.npm,cnpm,yarn,pnpm
npm (Node Package Manager)
npm是Node.js默認的包管理器,隨Node.js的安裝會一起安裝。使用npm可以安裝,發布,管理javascript包
cnpm (China Node Package Manager)
????????cnpm是由aliyun發布的包管理器,其用法和官方的npm一致,不同的是其使用的是中國的包鏡像,官方的npm執行包下載使用的是境外服務器,國內訪問速度慢,延遲高,cnpm的出現就是為了解決這一問題。
????????當然,如果不想替換官方的npm,其實直接更改npm的鏡像改為中國鏡像也是可以的。
npm config set registry https://registry.npmmirror.com
????????恢復源鏡像命令
npm config set registry https://registry.npmjs.org/
CNPM官方介紹https://developer.aliyun.com/article/1599824
yarn (Yet Another Resources Manager)
????????yarn 是由 Facebook 開發的另一個 JavaScript?包管理器。與 npm 不同,yarn 具有更快的下載速度和更穩定的依賴管理。它還引入了一些新的功能,如離線模式、并行安裝等。yarn 使用與 npm 相同的包倉庫,可以直接使用 npm 的包。
pnpm (Performant npm(高性能npm))? ?
????????pnpm 是另一個 JavaScript 包管理器,與 npm 和 yarn 不同,它使用硬鏈接和符號鏈接來共享依賴項,從而節省磁盤空間。pnpm 還具有更快的安裝速度和更低的網絡流量消耗。它也可以使用 npm 的包倉庫。
II.npx (Node Package Execute)
npx 是 npm 5.2.0 版本引入的一個命令行工具。它允許你在不全局安裝包的情況下運行命令行工具。npx 可以直接運行安裝在項目中的依賴包,而不需要手動設置環境變量或全局安裝。
E.g.:
沒有npx的時候?你想使用一個叫 create-react-app
的工具來創建一個 React 項目。你必須先全局安裝它
npm install -g create-react-app
然后,再用這個工具
create-react-app my-app
有了npx,你就可以直接這樣
npx create-react-app my-app
?
III. nvm (Node Version Manager)
nvm
是 Node Version Manager 的縮寫,它是一個用于在同一臺電腦上管理多個 Node.js 版本 的工具。你可以使用 nvm
在不同的項目中使用不同的 Node.js 版本來運行程序。
為什么需要 nvm?
有時候你會遇到這樣的問題:
- 項目 A 需要使用 Node.js v16.x
- 項目 B 需要使用 Node.js v18.x
- 項目 C 需要使用 Node.js v20.x
如果你只能安裝一個版本的 Node.js,就會很不方便。這時候 nvm
就派上用場了!