トラブルシューティング
パッケージバージョンの不一致の処理
モノレポが大きくなるにつれて、ワークスペースごとに異なるバージョンのパッケージが存在する可能性があります。
たとえば、`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`を実行して、リポジトリ全体で自動的に更新することもできます。