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

部署在Vercel的Express.js应用缺失ndarray-pixels模块求助

解决Vercel部署Express.js应用时"Cannot find module 'ndarray-pixels'"的问题

问题重现

本地测试正常,但部署到Vercel后无服务器函数抛出依赖缺失错误:

2023-02-03T14:41:20.325Z undefined ERROR Cannot find module 'ndarray-pixels'
Require stack:

  • /var/task/node_modules/@gltf-transform/functions/dist/functions.js
  • /var/task/_index.js

package.json已声明ndarray-pixels@1.0.0为生产依赖,且尝试过设置构建命令npm install --legacy-peer-deps无效。

解决方案

1. 检查Vercel构建日志中的依赖安装情况

进入Vercel项目的构建日志,搜索关键词ndarray-pixels,确认该依赖是否被成功安装:

  • 如果日志中存在安装失败的提示(比如网络问题、版本冲突),针对性解决对应问题;
  • 如果完全没有该依赖的安装记录,说明npm依赖解析出现异常,需要强制重新生成依赖锁文件。

2. 重新生成依赖锁文件并推送

本地执行以下操作后重新推送到代码仓库:

# 删除现有依赖文件
rm -rf node_modules package-lock.json
# 重新安装依赖并生成锁文件
npm install
# 提交并推送
git add package-lock.json
git commit -m "Regenerate dependency lock file"
git push

不同系统的依赖解析逻辑可能存在差异,重新生成锁文件可以消除本地与Vercel服务器环境的依赖版本不匹配问题。

3. 强制指定精确依赖版本

将package.json中ndarray-pixels的版本号从^1.0.0改为1.0.0(移除版本前缀^),确保Vercel安装的依赖版本与本地完全一致:

{
  "dependencies": {
    // ...其他依赖
    "ndarray-pixels": "1.0.0"
  }
}

修改后重复步骤2,重新安装并推送。

4. 切换包管理器至Yarn

若npm的依赖解析仍有问题,尝试使用Yarn替代:

# 删除npm相关文件
rm -rf node_modules package-lock.json
# 安装依赖并生成yarn.lock
yarn install
# 提交yarn.lock到仓库
git add yarn.lock
git commit -m "Switch to yarn for dependency management"
git push

然后在Vercel项目的构建配置中,将构建命令修改为yarn install。

5. 本地模拟Vercel环境测试

使用vercel dev命令在本地模拟Vercel的无服务器函数运行环境,复现问题并排查:

# 安装Vercel CLI
npm install -g vercel
# 启动本地模拟环境
vercel dev

如果本地模拟环境也出现相同错误,说明问题出在本地依赖配置而非Vercel部署流程,可进一步排查本地依赖安装的细节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 14:21:31