Vue项目执行yarn安装依赖时grpc模块node-pre-gyp报错求助
解决grpc@1.24.2与Node.js 16编译失败的问题
方案一:补全Visual Studio编译环境
grpc旧版本源码编译需要完整的VC++工具链,按以下步骤操作:
- 打开Visual Studio Installer,选中你已安装的VS2022/2019,点击「修改」
- 勾选**「使用C的桌面开发」**工作负载,这个包含编译所需的核心C组件
- 额外勾选对应版本的工具集:VS2022选「MSVC v142 - VS 2019 C++ x64/x86生成工具」(旧grpc依赖这个版本);VS2019选「VC++ 2019 v142工具集」
- 安装完成后,以管理员身份打开终端,执行:
npm config set msvs_version 2022 # 如果你用VS2019就改成2019 - 删除项目目录下的
node_modules和yarn.lock,重新跑yarn install
方案二:升级grpc版本(推荐)
grpc@1.24.2不支持Node.js 16,直接升级到兼容版本即可跳过编译:
- 打开项目根目录的
package.json:- 如果是直接依赖
grpc,把版本改成^1.24.11(这个版本开始支持Node.js 16)或更高稳定版 - 如果是间接依赖(其他包带过来的),添加
resolutions强制指定版本:"resolutions": { "grpc": "^1.24.11" }
- 如果是直接依赖
- 删除
node_modules和yarn.lock,重新执行yarn install
方案三:降级Node.js版本
grpc@1.24.2最高支持Node.js 14.x,用版本管理器切换即可:
- 用nvm安装并切换到Node.js 14.x LTS版本:
nvm install 14.21.3 nvm use 14.21.3 - 重新执行
yarn install
额外提醒
- 不要全局安装grpc或node-pre-gyp,项目依赖用本地安装即可,全局包不会影响项目的依赖解析
- 如果你用yarn 2+版本,把
resolutions换成overrides字段
内容的提问来源于stack exchange,提问作者George Marwanqana
相关产品推荐
相关产品推荐

