Gridsome项目目录执行npm install报sharp@0.23.4安装错误求解决方案
解决方案
你的报错核心来自两个问题:1. sharp@0.23.4不兼容Node.js 14.x版本,找不到对应预构建二进制包;2. 本地node-gyp调用Visual Studio 2019的MSBuild路径不存在,导致源码编译失败。
你可以按以下优先级尝试解决方案:
方案1:降级Node.js版本(操作最简单,成功率最高)
sharp 0.23.x系列最高支持的Node.js版本为12.x,你可以直接安装Node.js 12 LTS版本,安装完成后删除项目目录下的node_modules文件夹和package-lock.json文件,重新执行npm install即可。
方案2:升级sharp版本适配Node.js 14
如果不想降级Node.js环境,可以修改项目依赖的sharp版本适配Node.js14:
- 删除项目目录下的
node_modules文件夹、package-lock.json文件 - 执行命令
npm install sharp@^0.25.0,先单独安装支持Node.js14的sharp版本 - 再执行全量
npm install完成剩余依赖的安装
方案3:修复node-gyp编译环境(适用于必须保留当前sharp版本和Node版本的场景)
日志中显示node-gyp调用MSBuild.exe的路径不存在,首先打开Visual Studio Installer,确认你的Visual Studio 2019 Enterprise已经安装了使用C++的桌面开发 workload,未安装的话先补装该组件。
之后执行以下命令配置npm的msvs相关参数:
npm config set msvs_version 2019 npm config set msbuild_path "你的本地MSBuild.exe实际路径"
将上面命令中的路径替换为你本地MSBuild.exe的真实存放路径,配置完成后再次删除node_modules和package-lock.json,重新执行npm install即可。
注:日志中fsevents相关的警告属于正常情况,该依赖是Mac系统专属,Windows环境下会自动跳过,不影响项目运行
内容的提问来源于stack exchange,提问作者Aaron Schanz
相关产品推荐
相关产品推荐

