在Node.js 14.18.2项目中添加Swagger UI时遇安装错误
解决Node.js 14.18.2安装swagger-jsdoc/swagger-ui-express时的node-gyp错误与npm警告
一、修复node-gyp构建错误
错误核心是ValueError: invalid mode: 'rU',原因是旧版node-gyp(v5.1.0)不兼容Python 3.7+版本(Python 3.7移除了rU文件打开模式),同时日志显示当前使用的Node版本是v13.14.0,和项目指定的14.18.2不一致,按以下步骤修复:
统一Node.js版本
确保使用项目指定的14.18.2版本,用nvm的话执行:nvm use 14.18.2执行
node -v验证版本是否正确。升级node-gyp到兼容版本
安装最新版node-gyp以适配高版本Python:npm install -g node-gyp@latest或者在项目本地开发依赖中安装:
npm install node-gyp@latest --save-dev重新安装依赖
删除旧依赖文件后重新安装:rm -rf node_modules package-lock.json npm install若不想处理fsevents(macOS专属可选依赖)的安装警告,可添加
--no-optional参数跳过可选依赖:npm install --no-optional
二、解决peer依赖警告
日志提示@apidevtools/swagger-parser@10.0.2需要peer依赖openapi-types@>=7,直接安装该依赖即可消除警告:
npm install openapi-types@latest --save
内容的提问来源于stack exchange,提问作者roeygol
相关产品推荐
相关产品推荐

