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

使用dotenv在.ts文件中加载.env变量失败的解决求助

解决esrun运行TypeScript时dotenv路径错误问题

问题原因

esrun生成的临时文件存放在node_modules/.bin目录下,当使用import 'dotenv/config'时,它会从该子目录下查找dotenv模块,但你的dotenv实际安装在项目根目录的node_modules中,导致路径解析出错。

可行解决方案

方案1:手动初始化dotenv并指定.env路径

修改generate-keypair.ts代码,手动导入dotenv并明确指定.env文件的位置:

import dotenv from 'dotenv';
import { resolve } from 'path';
import { getKeypairFromEnvironment } from '@solana-developers/helpers';

// 基于当前文件所在目录,明确指向同级的.env文件
dotenv.config({ path: resolve(__dirname, '.env') });

console.log(process.env.SECRET_KEY);

const keypair = getKeypairFromEnvironment('SECRET_KEY');

console.log(`✅ Finished! We've loaded our secret key securely, using an env file!`);

运行命令保持不变:esrun generate-keypair.ts

方案2:使用esrun内置的环境变量加载功能

esrun支持直接通过参数加载.env文件,无需在代码中导入dotenv:

  1. 移除代码中的import 'dotenv/config'行,修改后代码如下:
import { getKeypairFromEnvironment } from '@solana-developers/helpers';

console.log(process.env.SECRET_KEY);

const keypair = getKeypairFromEnvironment('SECRET_KEY');

console.log(`✅ Finished! We've loaded our secret key securely, using an env file!`);
  1. 执行以下命令运行:
esrun --env-file=.env generate-keypair.ts

方案3:确认dotenv安装状态

确保dotenv安装在项目根目录,执行以下命令重新安装:

npm install dotenv --save

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 15:12:40