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

dotenv仅读取MARIADB_PWD变量,其余变量无法加载求助

问题诊断与解决

核心问题

你用了**冒号:作为.env文件里变量和值的分隔符,但dotenv模块默认只识别等号=**作为有效分隔符——这就是大部分变量无法加载的根本原因。唯一能读出的MARIADB_PWD是个巧合:它的值前有空格,dotenv可能误将冒号后的空格当成了分隔标识,才勉强解析成功。

修复步骤

  1. 修正.env文件的分隔符
    把所有:替换成=,同时建议去掉MARIADB_PWD值前的空格(避免潜在解析问题),修改后的.env如下:

    MARIADB_HOST=localhost
    MARIADB_USER=root
    MARIADB_PWD=1234123123123
    PATH_1=./uploads/
    PATH_2=./uploads_webp/
    
  2. 修正代码里的变量名拼写
    你代码里写了process.env.Path_2,但.env里的变量是PATH_2——dotenv对环境变量名大小写敏感,要改成一致:

    console.log(process.env.PATH_2);
    
  3. 重启进程/编辑器
    关闭当前Node进程,重新运行;如果VSCode缓存了旧的环境变量,也可以重启编辑器确保新配置生效。

补充说明

dotenv的默认解析逻辑严格遵循KEY=VALUE格式,冒号、空格这类符号除非特别配置解析规则,否则不会被识别。你之前功能正常,大概率是之前的.env文件用的是等号,后来误改成了冒号才出问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 01:52:05