Troubleshooting
Handling mismatched package versions
As your monorepo grows, you may end up with different versions of packages in different workspaces.
For instance, app may use react@18.0.0, but web may use react@17.0.0. This is especially true when you've just migrated from a multi-repo setup.
Mis-matched dependencies in different repositories can mean that code runs unexpectedly. React, for instance, will error if there is more than one version installed.
@manypkg/cli
Our recommended method for handling this problem is with @manypkg/cli - a CLI which can ensure that your dependencies match across your repositories.
Here's a quick example. At the root of your package.json, add a postinstall script.
package.json
{
"scripts": {
// This will check your dependencies match
// after each installation
"postinstall": "manypkg check"
},
"dependencies": {
// Make sure you install @manypkg/cli
"@manypkg/cli": "latest"
}
}You can also run manypkg fix to automatically update them throughout your repository.
Last updated on June 5, 2025