2023/03/20
本篇文章簡單紀錄既有開發中的專案原先使用yarn
套件管理器,改為使用pnpm
做為套件管理器的設定過程。
npm
安裝pnpm
安裝指令
確認安裝版本
(也可以為pnpm加入簡短別名pn,設定方式請往下看)
node_modules
package.json
新增一個腳本
這可以防止其他開發人員或是自己以後意外安裝帶有pnpm
以外的任何依賴項。
pnpm-workspace.yaml
(非必要,適合monorepo)*for monorepo
pnpm import
在專案執行 pnpm import
這個指令會產生pnpm-lock.yaml
檔案(基於我們專案內的yarn.lock
檔案或是packages-lock.json
)
安裝之後可能會出現如下錯誤:
這告訴我專案缺少一些peer dependencies,當然我可以手動安裝缺少的peer dependencies,例如安裝typescript@>=3.3.11。
我選擇設定pnpm的auto-install-peers選項為true,這樣pnpm會自動安裝peer dependencies。
Fix
在專案根目錄新增.npmrc
檔案,新增內容:
刪除專案根目錄裡的yarn.lock
或是 packages-lock.json
執行安裝指令:
pnpm
(pn
) 指令取代 npm run
(or yarn
)修改package.json
或其他有關檔案的Script,確保專案以pnpm指令管理。
例如執行pnpm dev
命令部署開發專案,確定正常執行。
pn
覺得字數太多的話,我們可以設定改用比較短的別名pn
來取代pnpm
。
例如在 POSIX系統中(ex: Linux)加入永久別名,以記事本開啟.bashrc
文件,
將下面這行命令貼上儲存。
之後可以用較簡短的pn dev
指令來執行本地部署開發。