Node 16环境安装@microsoft/generator-sharepoint遇依赖树解析错误
问题情况
- 使用Node.js 16.0版本,已成功全局安装Gulp和Yeoman
- 安装
@microsoft/generator-sharepoint时触发ERESOLVE依赖树解析错误,核心为webpack版本冲突 - 尝试以管理员权限运行npm,问题未解决
错误详情
npm ERR! code ERESOLVE npm ERR! ERESOLVE 无法解析依赖树 npm ERR! npm ERR! 已发现: webpack@5.75.0 npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/webpack npm ERR! 来自@rushstack/set-webpack-public-path-plugin@3.3.69的可选对等依赖webpack@"^5.35.1" npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/@rushstack/set-webpack-public-path-plugin npm ERR! @rushstack/set-webpack-public-path-plugin@"3.3.69" 来自@microsoft/spfx-heft-plugins@1.16.1 npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/@microsoft/spfx-heft-plugins npm ERR! @microsoft/spfx-heft-plugins@"1.16.1" 来自@microsoft/generator-sharepoint@1.16.1 npm ERR! node_modules/@microsoft/generator-sharepoint npm ERR! 根项目依赖@microsoft/generator-sharepoint@"*" npm ERR! 来自@rushstack/webpack4-localization-plugin@0.15.25的可选对等依赖@rushstack/set-webpack-public-path-plugin@"^3.3.69" npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/@rushstack/webpack4-localization-plugin npm ERR! @rushstack/webpack4-localization-plugin@"0.15.25" 来自@microsoft/spfx-heft-plugins@1.16.1 npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/@microsoft/spfx-heft-plugins npm ERR! @microsoft/spfx-heft-plugins@"1.16.1" 来自@microsoft/generator-sharepoint@1.16.1 npm ERR! node_modules/@microsoft/generator-sharepoint npm ERR! 来自@rushstack/webpack-plugin-utilities@0.1.36的可选对等依赖webpack@"^5.35.1" npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/@rushstack/set-webpack-public-path-plugin/node_modules/@rushstack/webpack-plugin-utilities npm ERR! @rushstack/webpack-plugin-utilities@"0.1.36" 来自@rushstack/set-webpack-public-path-plugin@3.3.69 npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/@rushstack/set-webpack-public-path-plugin npm ERR! @rushstack/set-webpack-public-path-plugin@"3.3.69" 来自@microsoft/spfx-heft-plugins@1.16.1 npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/@microsoft/spfx-heft-plugins npm ERR! @microsoft/spfx-heft-plugins@"1.16.1" 来自@microsoft/generator-sharepoint@1.16.1 npm ERR! node_modules/@microsoft/generator-sharepoint npm ERR! 还有1个来源(@rushstack/webpack4-localization-plugin) npm ERR! 另外5个来源(copy-webpack-plugin, file-loader, sass-loader, ...) npm ERR! npm ERR! 无法解析依赖: npm ERR! 来自@rushstack/webpack4-localization-plugin@0.15.25的对等依赖webpack@"^4.31.0" npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/@rushstack/webpack4-localization-plugin npm ERR! @rushstack/webpack4-localization-plugin@"0.15.25" 来自@microsoft/spfx-heft-plugins@1.16.1 npm ERR! node_modules/@microsoft/generator-sharepoint/node_modules/@microsoft/spfx-heft-plugins npm ERR! @microsoft/spfx-heft-plugins@"1.16.1" 来自@microsoft/generator-sharepoint@1.16.1 npm ERR! node_modules/@microsoft/generator-sharepoint npm ERR! 根项目依赖@microsoft/generator-sharepoint@"*" npm ERR! npm ERR! 修复上游依赖冲突,或使用--force、--legacy-peer-deps参数重试命令 npm ERR! 以接受一个不正确(可能无法正常运行)的依赖解析结果。 npm ERR! npm ERR! 完整报告请查看: C:\Users\Bruno.LeandrodaSilva\AppData\Local\npm-cache\eresolve-report.txt
解决方案
- 使用legacy对等依赖参数安装:npm 7及以上默认启用严格对等依赖检查,该参数会恢复npm 6的宽松解析逻辑,适合这类跨版本插件冲突场景,执行命令:
npm install -g @microsoft/generator-sharepoint --legacy-peer-deps - 指定兼容的generator版本:Node.js 16.0与
@microsoft/generator-sharepoint@1.15.2兼容性更好,可避免webpack版本冲突,执行命令:npm install -g @microsoft/generator-sharepoint@1.15.2 - 清理缓存后重试:先清理npm缓存,再执行安装命令(建议搭配
--legacy-peer-deps):npm cache clean --force npm install -g @microsoft/generator-sharepoint --legacy-peer-deps
内容的提问来源于stack exchange,提问作者Bruno DaSilva
相关产品推荐
相关产品推荐

