Skip to content

pnpm從v7升級到v9

問題敘述

將專案的pnpm版本從v7升到v9之後,因為npm-lock.yaml的格式不相容,所以應該要觸發重新安裝相依套件

工作上大多專案的package.json在init後幾乎都沒動過了,所以大升版幾乎讓一半不能動了

(記得定期pnpm update的重要啊!)

如何解決

在各專案中鎖定套件版本(或升級),找出那些不相容的套件

pnpm升級只要用官網提供的安裝指令,就會直接升到最新版了

這邊提供一些用到的指令:

  1. 安裝最新版本,直接使用官網的即可
bash
curl -fsSL https://get.pnpm.io/install.sh | sh -
  1. 退回指定版本
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即可

Last updated: