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

运行Node.js数据库脚本时出现MODULE_NOT_FOUND错误求助

问题解决指南

一、先处理「MODULE_NOT_FOUND」错误

这个错误的核心是Node.js找不到你要执行的文件,按以下步骤排查:

  • 核对执行命令的文件名:你执行的是node filename.js,但错误提示找不到/home/setra/Desktop/code/javascript/tests/test.js,说明实际文件名是test.js,把命令改成node test.js即可。
  • 确认终端所在路径:用pwd命令查看当前工作目录,确保你在/home/setra/Desktop/code/javascript/tests/目录下执行命令;如果不在,要么切换目录(cd /home/setra/Desktop/code/javascript/tests/),要么用完整路径执行:node /home/setra/Desktop/code/javascript/tests/test.js。

二、修复mysql模块导入及代码问题

你的代码存在两处明显问题:

  1. 导入语句错误:
    不能直接从./node_modules导入mysql,正确的导入方式分两种:

    • 用Node.js默认的CommonJS规范:
      const mysql = require('mysql');
      
    • 用ES模块规范(需在项目根目录的package.json中添加"type": "module"):
      import mysql from 'mysql2';
      

    注意:官方更推荐使用mysql2模块,稳定性和功能更优,安装命令为npm install mysql2(若坚持用原生mysql则执行npm install mysql)。

  2. 未处理连接错误:
    原代码的connect回调没有错误处理逻辑,连接失败时无明确提示,修改后:

    con.connect(function(err) {
      if (err) throw err; // 连接失败时抛出错误信息
      console.log("Connected!");
    });
    

最终修正后的示例代码

// CommonJS版本(无需修改package.json)
const mysql = require('mysql2');

var con = mysql.createConnection({
  host: "secret",
  user: "secret",
  password: "secret"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 07:20:27