Hi,
You have different solutions for this problem.
You can switch to pnpm instead of npm, it has a better dependency management and maybe it will solve your problem.
Here is the documentation to switch to pnpm: https://vaadin.com/docs/flow/advanced/tutorial-switch-npm-pnpm.html
You can add a plugin in webpack that gives you more information about the conflict:
At the root of your project run this:
npm install duplicate-package-checker-webpack-plugin --save-dev
In webpack.config.js, add this:
const DuplicatePackageCheckerPlugin = require('duplicate-package-checker-webpack-plugin');
module.exports = merge(flowDefaults, {
plugins: [
new DuplicatePackageCheckerPlugin({
// Also show module that is requiring each duplicate package (default: false)
verbose: true,
// Emit errors instead of warnings (default: false)
emitError: true,
// Show help message if duplicate packages are found (default: true)
showHelp: true,
// Warn also if major versions differ (default: true)
strict: true
})
]
});
If you never change it before, it should look like that after the change:
/**
* This file has been autogenerated as it didn't exist or was made for an older incompatible version.
* This file can be used for manual configuration will not be modified if the flowDefaults constant exists.
*/
const merge = require('webpack-merge');
const flowDefaults = require('./webpack.generated.js');
const DuplicatePackageCheckerPlugin = require('duplicate-package-checker-webpack-plugin');
module.exports = merge(flowDefaults, {
plugins: [
new DuplicatePackageCheckerPlugin({
// Also show module that is requiring each duplicate package (default: false)
verbose: true,
// Emit errors instead of warnings (default: false)
emitError: true,
// Show help message if duplicate packages are found (default: true)
showHelp: true,
// Warn also if major versions differ (default: true)
strict: true
})
]
});
It should give you more information about the conflict if you rebuild and run the project.
Here is the issue: https://github.com/vaadin/flow/issues/8475