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

SvelteKit部署Ubuntu服务器报错:await server.init({env: process.env})

解决SvelteKit部署Ubuntu服务器时await server.init({env: process.env})启动错误

针对你遇到的问题,按以下步骤排查解决:

  • 纠正启动命令
    先明确构建与启动的正确流程:

    1. 执行构建命令生成生产产物:npm run build
    2. 构建完成后,启动服务器的正确命令是:node build(adapter-node默认将产物输出到build目录,Node会自动加载目录下的index.js)
      不要把node build当作构建命令执行,这是启动环节的操作。
  • 升级Node.js到兼容版本
    SvelteKit要求Node.js版本至少为v16.14.0,Ubuntu默认仓库的Node版本通常偏低,执行node -v查看当前版本:

    • 若版本不达标,用nvm安装LTS版本:
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
      source ~/.bashrc
      nvm install --lts
      nvm use --lts
      
  • 重新构建并检查产物完整性
    执行npm run build时,仔细查看终端输出,确保没有编译错误。如果构建过程中出现报错(比如依赖缺失、代码语法错误),先解决这些问题,再尝试启动服务器。

  • 配置必要环境变量
    启动服务器时,需确保关键环境变量已设置:

    • 指定端口:PORT=3000 node build(默认端口为3000,可根据需求修改)
    • 启用生产环境模式:NODE_ENV=production node build
      如果项目依赖自定义环境变量,可通过.env文件管理,需在build/index.js开头添加require('dotenv').config()(前提是已安装dotenv包:npm install dotenv --save)。
  • 排查自定义服务器逻辑(如果有)
    如果你在项目中自定义了服务器初始化代码(比如修改了hooks或添加了自定义服务器脚本),确认没有错误修改server.init的参数,保持{ env: process.env }的默认配置即可,不要遗漏必要参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:02:44