运行OpenAI GPT的nodemon服务器遇ERR_MODULE_NOT_FOUND错误求助
问题排查:nodemon启动服务器报ERR_MODULE_NOT_FOUND错误
执行npm run server启动基于OpenAI GPT的nodemon服务器时,终端返回ERR_MODULE_NOT_FOUND错误,同时显示[nodemon] app crashed - waiting for file changes before starting...。项目相关文件如下:
package.json文件
{ "name": "server", "version": "1.0.0", "description": "", "main": "server.js", "type": "module", "scripts": { "server": "nodemon server" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "cors": "^2.8.5", "dotenv": "^16.0.3", "nodemon": "^2.0.20", "openai": "^3.1.0" } }
server.js文件
import express from 'express'; import * as dotenv from 'dotenv'; import cors from 'cors'; import { Configuration, OpenAIApi } from 'openai'; dotenv.config(); const configuration = new Configuration({ apiKey: process.env.OPENAI_API_KEY, }); const openai = new OpenAIApi(configuration); const app = express(); app.use((cors())); app.use(express.json()); app.get('/', async (req, res) => { res.status(200).send({ message: 'Hello form Codex', }) }); app.post('/', async (req, res) => { try { const prompt = req.body.prompt; //front end const response = await openai.createCompletion({ model: "text-davinci-003", prompt: `${prompt}`, temperature: 0, max_tokens: 3000, top_p: 1, frequency_penalty: 0.5, presence_penalty: 0, }); res.status(200).send({ bot: response.data.choices[0].text }) } catch (error) { console.log(error); res.status(500).send({ error }) } }) app.listen(5000, ()=> console.log('Server is running on port http://localhost:5000'));
终端错误信息
code: 'ERR_MODULE_NOT_FOUND' } Node.js v18.12.1 [nodemon] app crashed - waiting for file changes before starting...
解决步骤
- 安装缺失的依赖包:server.js中导入了
express,但package.json的依赖列表里没有该包,这是模块找不到的核心原因。执行命令安装:npm install express - 修复语法错误:server.js第10行
app.use((cors()));多了一对冗余括号,修改为:app.use(cors()); - 验证启动命令(可选):若nodemon无法识别
server指向server.js,可将package.json的scripts字段修改为:"scripts": { "server": "nodemon server.js" } - 配置环境变量(后续运行必备):在项目根目录创建
.env文件,添加OpenAI密钥:OPENAI_API_KEY=你的OpenAI API密钥
完成以上操作后,重新执行npm run server即可正常启动服务器。
内容的提问来源于stack exchange,提问作者Anand Srivastava
相关产品推荐
相关产品推荐

