npm
- 使用
- 安裝包:在項目目錄下,
npm install <包名>
?用于本地安裝包到?node_modules
?目錄,并添加到?package.json
?的?dependencies
?中;npm install -g <包名>
?用于全局安裝,適用于命令行工具等。 - 初始化項目:
npm init
?可創建?package.json
?文件,按提示輸入相關信息;npm init -y
?可快速生成默認配置的?package.json
?。 - 更新包:
npm update <包名>
?更新包到最新版本(符合版本規則)。 - 卸載包:
npm uninstall <包名>
?本地卸載;npm uninstall -g <包名>
?全局卸載。 - 運行腳本:在?
package.json
?的?scripts
?字段定義腳本,如?"start": "node app.js"
?,通過?npm run start
?運行 。
- 安裝包:在項目目錄下,
- 特點
- 優點:是 Node.js 默認包管理器,用戶基數大,生態系統豐富,包資源多;配置選項靈活,可高度自定義安裝過程。
- 缺點:早期安裝速度慢(現已有改善);不同環境依賴版本可能不一致,導致 “依賴地獄”;緩存管理不夠智能,占用磁盤空間。
yarn
- 使用
- 安裝包:
yarn add <包名>
?安裝到項目,添加到?dependencies
;yarn add -D <包名>
?安裝到開發依賴(devDependencies
?) 。 - 初始化項目:
yarn init
?類似?npm init
?。 - 更新包:
yarn upgrade <包名>
?。 - 卸載包:
yarn remove <包名>
?。 - 運行腳本:定義在?
package.json
?的?scripts
?中,yarn <腳本名>
?運行。 - 離線模式:可利用緩存依賴,無網絡時也能安裝。
- 安裝包:
- 特點
- 優點:安裝速度快,采用并行下載和高效依賴解析算法;保證安裝結果一致性,解決依賴版本混亂問題;有安全檢查功能;支持多包工作空間管理。
- 缺點:與 npm 雖兼容,但部分 npm 特定功能或插件可能無法完美運行。
pnpm
- 使用
- 安裝包:
pnpm add <包名>
?本地安裝;pnpm add -g <包名>
?全局安裝。 - 初始化項目:
pnpm init
?。 - 更新包:
pnpm up <包名>
?;指定版本?pnpm up <包名>@<版本號>
?。 - 卸載包:
pnpm remove <包名>
?本地卸載;pnpm remove --global <包名>
?全局卸載。 - 管理 node 版本:
pnpm env list --remote
?查看可用版本;pnpm env use --global <node版本號>
?切換版本。
- 安裝包:
- 特點
- 優點:通過硬鏈接和文件復用技術,減少磁盤占用,安裝速度快;完全兼容 npm 和 yarn 的配置文件;默認嚴格模式,版本控制精確,避免依賴沖突;跨平臺性能好。
- 缺點:社區相對較小,遇到問題時可獲取資源可能較少;部分 IDE 或 CI/CD 工具支持不如 npm 和 yarn 成熟。
三者選擇上,追求速度和磁盤空間效率選 pnpm;大型項目需一致性和安全檢查選 yarn;看重生態豐富和靈活性選 npm。