pnpm從v7升級到v9
問題敘述
將專案的pnpm版本從v7
升到v9
之後,因為npm-lock.yaml
的格式不相容,所以應該要觸發重新安裝相依套件
工作上大多專案的package.json
在init後幾乎都沒動過了,所以大升版幾乎讓一半不能動了
(記得定期pnpm update的重要啊!)
如何解決
在各專案中鎖定套件版本(或升級),找出那些不相容的套件
pnpm升級只要用官網提供的安裝指令,就會直接升到最新版了
這邊提供一些用到的指令:
- 安裝最新版本,直接使用官網的即可
bash
curl -fsSL https://get.pnpm.io/install.sh | sh -
- 退回指定版本
bash
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=<version> sh -
若退版後回專案pnpm i出現這錯誤
bash
ERR_PNPM_UNSUPPORTED_ENGINE Unsupported environment (bad pnpm and/or Node.js version)
因為公司專案.npmrc
下有設定engine-strict=true
先把.npmrc
內容清除再執行pnpm i
即可