在pnpm和monorepo環境中,如何確保本地包的版本顯示為特定版本而不是浮動版本?

在pnpm和monorepo環境中,如何確保本地包的版本顯示為特定版本而不是浮動版本?

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
喜歡就支持一下吧
點贊11 分享