无法找到node:http模块,请求协助解决Node.js服务器启动报错问题
解决"Cannot find module 'node:http'"错误
问题原因
node:前缀的模块导入语法是Node.js v16.0.0及以上版本才支持的特性,你的Node.js版本低于这个阈值,无法识别该前缀,因此抛出模块找不到的错误。从报错信息里的internal/modules/cjs/loader.js路径也能看出,你使用的是较旧的CommonJS加载器版本。
解决方案
方案1:升级Node.js版本
- 先检查当前Node.js版本:
node -v
- 升级到v16.0.0或更高版本:
- 如果你用nvm(Node版本管理器),可以运行:
nvm install 16 nvm use 16 - 也可以直接下载对应版本的安装包进行升级。
- 如果你用nvm(Node版本管理器),可以运行:
方案2:修改代码移除node:前缀
http是Node.js内置核心模块,不需要node:前缀也能正常导入,将代码第一行修改为:
const { createServer } = require('http');
修改后重新运行你的服务器代码即可。
验证
修改完成后,在终端运行:
node server.js
如果看到Server running at http://127.0.0.1:3000/的输出,说明问题已解决。
内容的提问来源于stack exchange,提问作者Shreyas
相关产品推荐
相关产品推荐

