部署至Vercel时出现Error 500错误,本地运行正常
问题分析
部署到Vercel后出现500内部服务器错误,本地运行完全正常,回滚至之前能正常运行的版本仍无效。日志核心错误如下:
Error: Cannot find module 'core-js/modules/es.array.map.js' Require stack: - /var/task/node_modules/next-i18next/dist/commonjs/config/createConfig.js - /var/task/node_modules/next-i18next/dist/commonjs/appWithTranslation.js - /var/task/node_modules/next-i18next/dist/commonjs/index.js - /var/task/.next/server/pages/_app.js - /var/task/node_modules/next/dist/server/require.js - /var/task/node_modules/next/dist/server/next-server.js - /var/task/___next_launcher.cjs
该错误由next-i18next依赖触发,说明Vercel构建环境中缺失core-js模块。
解决方案
显式安装core-js
直接将core-js添加为项目依赖,确保Vercel构建时能正确获取该模块:npm install core-js # 或使用yarn yarn add core-js # 或pnpm pnpm add core-js安装完成后提交
package.json和对应锁文件(如package-lock.json),重新触发Vercel部署。清理本地缓存后重新构建
本地环境缓存可能导致依赖不一致,执行以下步骤重置依赖:# 删除依赖文件夹和锁文件 rm -rf node_modules package-lock.json # 重新安装依赖 npm install # 提交更新后的文件 git add package.json package-lock.json git commit -m "Add core-js dependency and refresh dependencies" git push对齐Vercel与本地Node.js版本
进入Vercel项目的「Settings」→「General」→「Node.js Version」,设置为和本地开发环境一致的版本(比如本地用v18.x,Vercel也选择v18),避免版本差异导致依赖安装异常。升级next-i18next版本
若使用的next-i18next版本较旧,可能存在依赖兼容问题,尝试升级到最新稳定版:npm update next-i18next升级完成后重新部署验证。
内容的提问来源于stack exchange,提问作者Andrea
相关产品推荐
相关产品推荐

