导入mssql npm包时出现Cannot find module 'node:events'报错求助
解决导入mssql时出现"Error: Cannot find module 'node:events'"的问题
这个错误本质是Node.js版本不兼容导致的——node:events这种带node:前缀的内置模块引用方式,是从Node.js 14.13.0版本才开始支持的。而你使用的mssql版本大概率依赖这个语法,如果你当前的Node.js版本低于14.13.0,就会触发这个报错。以下是具体解决步骤:
检查并升级Node.js版本
- 先在终端执行命令查看当前Node.js版本:
node -v - 如果版本低于14.13.0,直接升级到官方LTS版本(推荐16.x、18.x或20.x),升级完成后重新启动项目,再尝试导入mssql。
- 先在终端执行命令查看当前Node.js版本:
降级mssql到兼容旧Node.js版本的版本(如果不想升级Node.js)
如果因为环境限制无法升级Node.js,可以降级mssql到支持旧版本的分支,比如v7.x系列:npm uninstall mssql npm install mssql@7.3.0清理缓存并重新安装依赖
除了删除node_modules,还需要清理npm缓存避免残留问题:rm -rf node_modules package-lock.json npm cache clean --force npm install确认package.json的engines配置
检查项目根目录的package.json中是否有engines字段,如果有,确保指定的Node.js版本和你实际运行的版本匹配,比如:"engines": { "node": ">=14.13.0" }
内容的提问来源于stack exchange,提问作者Nitin Goyal
相关产品推荐
相关产品推荐

