将Next.js部署至Vercel后出现Cannot find module 'sharp'报错求助
解决Vercel部署Next.js后sharp模块找不到的问题
可能的原因及解决方案:
确认sharp依赖在生产依赖中
本地运行正常但Vercel报错,大概率是sharp被放在了devDependencies里,Vercel生产环境不会安装dev依赖。执行以下命令将其移到dependencies:npm install sharp --save # 或 yarn add sharp检查
package.json,确保sharp出现在dependencies而非devDependencies中。清理Vercel缓存重新部署
Vercel可能缓存了旧的依赖安装结果,导致sharp未被正确安装。进入Vercel控制台的项目部署页面,找到最近的部署记录,点击「Redeploy」,勾选「Clear build cache」后重新触发部署。添加sharp环境变量
sharp需要编译特定环境的二进制文件,Vercel环境下可能需要强制使用本地编译版本。在Vercel项目的「Settings」→「Environment Variables」中添加:SHARP_IGNORE_GLOBAL_LIBVIPS=1添加后重新部署项目。
检查API路由的导入语句
确保在处理图片的API路由文件中,sharp的导入语句正确,没有拼写错误:// ES模块语法 import sharp from 'sharp'; // 或CommonJS语法 const sharp = require('sharp');
内容的提问来源于stack exchange,提问作者Ihda Anwari
相关产品推荐
相关产品推荐

