You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vercel部署Next.js无服务器API报错libuuid.so.1不存在是什么原因?

错误原因结论

该报错和require()语法完全无关,是canvas模块依赖的系统运行库缺失导致的。
从报错堆栈可以明确看到错误触发自/var/task/node_modules/canvas/lib/bindings.js,错误提示libuuid.so.1: cannot open shared object file是Linux环境下缺失uuid系统依赖的典型提示,Vercel默认的无服务器运行环境没有预装canvas所需的底层系统依赖包,因此启动时直接抛出异常。

修复方案

  • 方案1(优先推荐):替换为无服务器环境适配的canvas替代库,比如@napi-rs/canvas、skia-canvas,这类库不需要额外安装系统依赖,体积更小,适配Vercel、Netlify等无服务器部署环境。
  • 方案2(保留原版canvas):在项目根目录新增vercel.json配置文件,添加依赖预装指令,配置示例如下:
{
  "installCommand": "yum install -y libuuid libjpeg-turbo libpng cairo pango giflib && npm install",
  "functions": {
    "api/**/*.{js,ts}": {
      "includeFiles": "node_modules/canvas/build/Release/*"
    }
  }
}

注意:原版canvas依赖的系统库较多,配置后可能出现部署包超出Vercel无服务器函数体积限制的问题,非必要不推荐使用该方案。


内容的提问来源于stack exchange,提问作者Aura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 02:30:04