pnpm和monorepo環境下精準指定本地包版本
使用pnpm和monorepo管理項目時,添加本地包的版本號常常會與預期不符。例如,在monorepo中,你希望項目project1使用全局組件abcd的1.0.0版本,但執行pnpm add abcd@1.0.0 –workspace后,package.json中顯示的版本卻是”workspace:^”,而非”workspace:1.0.0″。這是因為pnpm默認使用浮動版本管理工作空間依賴,允許在同一主版本號下自動更新。
要確保package.json中顯示精確的版本號(例如1.0.0),請使用以下命令添加包:
pnpm add abcd@1.0.0 --save-exact --workspace
–save-exact參數強制pnpm使用精確版本號,而非浮動版本,從而在package.json中顯示”workspace:1.0.0″。
另一種方法是全局設置save-exact選項。在~/.npmrc或項目根目錄下的.npmrc文件中添加:
save-exact=true
此設置將使所有后續添加的依賴都使用精確版本號。
通過以上方法,您可以有效控制pnpm和monorepo環境下本地包的版本,確保項目依賴的準確性和一致性。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END