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

SvelteKit执行npm run build时环境变量导出失败求助

解决SvelteKit构建时PUBLIC_API_URL未导出的问题

检查环境变量文件

  • 确保项目根目录(与package.json同级)存在.env或.env.production文件,文件内正确定义变量:
    PUBLIC_API_URL=https://your-api-domain.com
    
    变量名必须以PUBLIC_开头,SvelteKit仅会暴露带该前缀的环境变量给客户端代码。

验证文件位置与命名

  • 环境变量文件不能放在src或其他子目录,必须在项目根目录。
  • 文件名需准确:生产构建默认加载.env.production,若使用自定义名称需在构建命令中指定,无.env.production时会 fallback 到.env。

清除缓存并重装依赖

  • 执行以下命令清理缓存与依赖,避免缓存导致的变量未加载:
    rm -rf node_modules
    rm package-lock.json
    npm cache clean --force
    npm install
    
  • 重新执行构建:
    npm run build
    

检查SvelteKit版本兼容性

  • $env/static/public语法在SvelteKit 1.0+版本引入,若版本过低,升级到最新稳定版:
    npm install @sveltejs/kit@latest svelte@latest
    

确认导入语法正确

  • 组件内的导入语句必须为:
    import { PUBLIC_API_URL } from '$env/static/public';
    
    注意路径不能写错,比如不能写成$env/public。

检查构建时环境变量加载

  • 在服务器终端先手动输出变量确认是否生效:
    echo $PUBLIC_API_URL
    
    若输出为空,需确保构建进程能读取到变量——可临时通过export PUBLIC_API_URL=xxx设置,或配置服务器全局环境变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 05:10:03