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

NestJS项目启动报错dotenv: command not found如何解决?

问题原因

你安装的dotenv是核心功能库,仅支持在业务代码中引入后加载环境变量,没有内置终端可执行的CLI命令。你启动脚本中调用的dotenv命令来自独立的dotenv-cli工具包,这是两个完全不同的npm包,因此会抛出找不到命令的错误。

解决方案

以下三种方案任选其一即可:

  • 方案1(无需修改现有脚本,最便捷)
    安装项目级的dotenv-cli到开发依赖即可,执行命令:
    yarn add -D dotenv-cli
    
    安装完成后直接运行原有启动命令即可正常生效。
  • 方案2(符合NestJS原生规范,推荐)
    你已经安装了NestJS官方提供的@nestjs/config依赖,本身就支持环境变量加载,完全不需要额外调用dotenv命令:
    1. 修改启动脚本为:
    "start:dev": "nest start --watch"
    
    1. 在项目根模块的imports配置中添加以下内容即可指定配置文件路径:
    ConfigModule.forRoot({
      envFilePath: 'env/local.env',
      isGlobal: true // 可设为全局模块,不用在其他子模块重复引入
    })
    
  • 方案3(无需新增依赖,兼容现有dotenv包)
    直接用node的预加载参数调用你已安装的dotenv包加载配置,修改启动脚本为:
    "start:dev": "node -r dotenv/config ./node_modules/.bin/nest start --watch dotenv_config_path=env/local.env"
    
注意事项

不建议全局安装dotenv-cli,所有项目依赖都安装到项目本地的devDependencies中,可保证所有协作者拉取代码后都能正常运行项目,避免环境差异导致的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:24:03