Axios调用OpenAI API时API Key读取为undefined问题求助
解决环境变量OPENAI_API_KEY读取为undefined的问题
以下是逐一排查的关键步骤:
检查.env文件的基础配置
确保文件命名为.env(注意开头的英文句号),且放在项目根目录下。变量定义不能有多余空格,必须是OPENAI_API_KEY=sk-xxx的格式,不要写成OPENAI_API_KEY = sk-xxx(等号前后的空格会导致读取失败)。适配前端框架的环境变量前缀要求
如果你是在React、Vue等前端项目中使用:- React项目:环境变量必须以
REACT_APP_开头,即改为REACT_APP_OPENAI_API_KEY=sk-xxx,读取时用process.env.REACT_APP_OPENAI_API_KEY - Vue/Vite项目:环境变量必须以
VITE_开头,即改为VITE_OPENAI_API_KEY=sk-xxx,读取时用import.meta.env.VITE_OPENAI_API_KEY(Vite)或process.env.VUE_APP_OPENAI_API_KEY(Vue CLI)
前端框架会默认过滤不带对应前缀的环境变量,这是最常见的误点。
- React项目:环境变量必须以
重启开发服务器
修改.env文件后,必须完全关闭当前的开发服务(比如Ctrl+C终止),再重新启动。开发服务器不会自动监听.env文件的修改,未重启的话会一直使用旧的缓存值。Node.js项目需手动加载dotenv
如果是纯Node.js后端项目,需要安装dotenv依赖:npm install dotenv然后在项目入口文件(比如index.js)的最顶部添加:
require('dotenv').config()之后才能通过
process.env.OPENAI_API_KEY读取变量。验证变量读取的代码
确保读取变量的代码没有拼写错误,比如把OPENAI_API_KEY写成OPENAI_API_KET,或者在前端项目中漏掉了框架要求的前缀。
内容的提问来源于stack exchange,提问作者jeeeez
相关产品推荐
相关产品推荐

