儲存庫
文件
疑難排解

疑難排解

處理不匹配的套件版本

隨著單一儲存庫的擴充,您可能會在不同的工作空間中遇到不同版本的套件。

例如,app 可能使用 react@18.0.0,但 web 可能使用 react@17.0.0。當您剛剛 從多個儲存庫設定中移轉 時,尤其如此。

不同儲存庫中的依賴項不匹配,可能導致程式碼意外執行。例如,如果安裝的版本超過一個,React 會產生錯誤。

@manypkg/cli

我們建議使用 @manypkg/cli(在新分頁中開啟) 來處理此問題,這是一個 CLI,可確保您的相依性在所有儲存庫中相符。

以下是一個快速範例。在 package.json 的根目錄中,新增一個 postinstall 腳本。

{
  "scripts": {
    // This will check your dependencies match
    // after each installation
    "postinstall": "manypkg check"
  },
  "dependencies": {
    // Make sure you install @manypkg/cli
    "@manypkg/cli": "latest"
  }
}

您也可以執行 manypkg fix 來自動更新整個儲存庫中的相依性。