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

使用本地私有依赖包的Gatsby站点部署到Vercel时依赖找不到的解决方法

Gatsby 私有本地依赖包Vercel部署报错解决方案

问题场景

使用未公开发布的本地私有依赖包的Gatsby站点,本地构建正常,部署到Vercel时提示找不到对应依赖包。
依赖包存放于项目根目录的Gatsby static文件夹下,最初的package.json配置如下:

"devDependencies": {
    "fslightbox-react": "file:./public/fslightbox-react-pro-1.4.2.tgz",
  },
 "scripts": {
    "install-plugin": "cd public && yarn add fslightbox-react-pro-1.4.2.tgz",
    "build": "yarn install-plugin && gatsby build",
  },

部署时已将Vercel构建命令覆盖为yarn build,但始终触发以下报错:

error "./public/fslightbox-react-pro-1.4.2.tgz": Tarball is not in network and can not be located in cache (["/vercel/path0/public/fslightbox-react-pro-1.4.2.tgz","/vercel/.cache/yarn/v6/npm-fslightbox-react-1.4.2-aa6c77ceb2feb8487853163cb9a3d3a3d91ca85f/node_modules/fslightbox-react/.yarn-tarball.tgz"])

报错核心原因为:Gatsby的public目录是构建过程中生成的,执行依赖安装时public目录还未创建,自然无法读取目录内的依赖包。

解决方法

无需修改Vercel的命令覆盖配置,仅调整package.json中的脚本配置即可,修改后配置如下:

"install-plugin": "cd static && yarn add file:static/fslightbox-react-pro-1.4.2.tgz",
"build": "yarn install-plugin && gatsby build",

注意事项

  • 私有依赖包必须存放在项目根目录的static文件夹下,该目录内容在项目初始化阶段就存在,无需等待构建生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 09:45:05