Nuxt3部署触发500错误:全新初始化项目亦复现该问题
Nuxt3构建后启动报错:找不到vue/server-renderer模块
问题详情
- 目标:在Mac上构建、部署并预览Nuxt3项目
- 操作流程:
- 执行
yarn build完成项目构建 - 运行
node .output/server/index.mjs启动构建产物
- 执行
- 异常表现:
访问http://0.0.0.0:3000后,终端抛出500请求错误,具体报错:
开发模式下运行正常,[nuxt] [request error] [unhandled] [500] Cannot find module '/Users/mark/Desktop/project/.output/server/node_modules/vue/server-renderer/index.mjs' imported from /Users/mark/Desktop/project/.output/server/chunks/handlers/renderer.mjs at finalizeResolution (node:internal/modules/esm/resolve:265:11) at moduleResolve (node:internal/modules/esm/resolve:933:10) at defaultResolve (node:internal/modules/esm/resolve:1157:11) at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:390:12) at ModuleLoader.resolve (node:internal/modules/esm/loader:359:25) at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:234:38) at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:87:39) at link (node:internal/modules/esm/module_job:86:36)yarn build过程无报错,甚至初始化全新Nuxt3项目后,问题依然复现。 - 环境参数:Mac Sonoma 14.1、Node.js v20.12.2
可行解决办法
1. 重装依赖,确保完整性
先清理现有依赖文件,重新安装:
rm -rf node_modules yarn.lock yarn install
完成后重新构建并启动:
yarn build && node .output/server/index.mjs
2. 修改Nuxt配置,强制打包指定依赖
在项目根目录的nuxt.config.ts中添加配置,让vue/server-renderer被内联打包到产物中:
export default defineNuxtConfig({ nitro: { externals: { inline: ['vue/server-renderer'] } } })
保存配置后,重新执行构建和启动流程。
3. 降级Node.js版本
Node.js v20部分版本与Nuxt3存在兼容性问题,可尝试切换到v18.x LTS版本:
如果已安装nvm,直接执行:
nvm install 18 nvm use 18
未安装nvm的话,先安装:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
切换版本后,重新安装依赖、构建启动项目。
内容的提问来源于stack exchange,提问作者Redbeard
相关产品推荐
相关产品推荐

