仓库
文档
故障排除

故障排除

处理不匹配的包版本

随着您的单仓库的增长,您可能会在不同的工作区中使用不同版本的包。

例如,app 可能会使用 [email protected],但 web 可能会使用 [email protected]。当您刚刚 从多仓库设置迁移 时,这种情况尤其常见。

不同仓库中不匹配的依赖关系可能意味着代码以意想不到的方式运行。例如,如果安装了多个版本的 React,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 来自动更新整个仓库中的依赖关系。