リポジトリ
ドキュメント
トラブルシューティング

トラブルシューティング

パッケージバージョンの不一致の処理

モノレポが大きくなるにつれて、ワークスペースごとに異なるバージョンのパッケージが存在する可能性があります。

たとえば、`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`を実行して、リポジトリ全体で自動的に更新することもできます。