使用OpenAI API搭建localhost服务器失败,报错求解决方案
本地Express服务器启动失败+OpenAI SDK报错排查
终端报错:TypeError: Configuration is not a constructor
原因:你使用的是OpenAI SDK v4及以上版本,但代码沿用了v3及更早版本的API写法。v4+重构了SDK,移除了Configuration和OpenAIApi这两个导出类,改用直接实例化OpenAI类的方式。
修复代码:
替换导入与初始化逻辑,完整代码如下:
const express = require('express'); require("dotenv").config(); // 替换旧的导入语句 const OpenAI = require("openai"); const app = express(); app.use(express.json()); // 直接初始化OpenAI实例 const openai = new OpenAI({ apiKey: process.env.OPEN_AI_KEY, }); app.post("/find-complexity", async (req, res) => { try { return res.status(200).json({ message: "Working", }); } catch (error) { // 新增错误处理,避免进程崩溃 return res.status(500).json({ error: error.message }); } }); const port = process.env.PORT || 3000; // 动态输出监听端口,避免硬编码不一致 app.listen(port, () => console.log(`Server listening on port ${port}`));
Postman报错:Error: connect ECONNREFUSED 127.0.0.1:3000
原因:服务器根本没启动成功——前面的Configuration构造函数错误导致Node.js进程启动时直接崩溃,没有进入监听端口的逻辑,所以Postman无法建立连接。解决第一个问题后,服务器正常启动,该错误会自动消失。
额外检查项
- 确认
.env文件放置在项目根目录,且OPEN_AI_KEY配置正确 - 若需保留旧版SDK写法,可执行
npm install openai@3降级到v3版本
内容的提问来源于stack exchange,提问作者jomosh
相关产品推荐
相关产品推荐

