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

使用Node+PM2部署SvelteKit应用时遇/build模块找不到错误

解决SvelteKit + Node适配器 + PM2部署时找不到build目录的问题

问题核心

部署后PM2显示运行,但站点无法访问,错误日志提示找不到/var/www/bap24/public_html/build目录,实际目录中只有output文件夹,与适配器配置的输出目录不匹配。

修复步骤

  1. 修正SvelteKit适配器的输出目录配置
    打开svelte.config.js,将适配器的out参数改为实际存在的output目录:

    import { vitePreprocess } from "@sveltejs/vite-plugin-svelte";
    import adapter from "@sveltejs/adapter-node";
    
    /** @type {import('@sveltejs/kit').Config} */
    const config = {
      kit: {
          adapter: adapter({
          out: "output"
        }),
      },
    };
    
    export default {
      preprocess: [vitePreprocess({})],
      config,
    };
    
  2. 同步package.json的start脚本
    修改package.json中的start命令,指向正确的输出目录:

    {
      "name": "bap24",
      "version": "0.0.1",
      "private": true,
      "type": "module",
      "scripts": {
        "dev": "vite dev",
        "build": "vite build",
        "preview": "vite preview",
        "start": "node output",
        "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
        "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch"
      }
    }
    
  3. 重新构建并重启PM2服务

    • 执行构建命令生成正确目录的产物:
      npm run build
      
    • 重启PM2应用:
      pm2 restart bap24
      
      或者通过配置文件重启:
      pm2 restart ecosystem.config.cjs
      

原因分析

适配器配置指定输出到build目录,但实际构建产物生成在output目录,导致PM2执行node build时找不到对应模块,服务启动失败,进而无法访问站点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 09:05:39