Next.js启动报错:找不到'stream/web'模块,Node版本显示异常
问题原因分析:Cannot find module 'stream/web' 与 Node版本不一致问题
Node版本环境不统一(核心原因)
你终端执行node --version和nvm ls显示v18.17.1,但npm安装时识别的是v15.14.0,说明当前终端窗口没有正确加载nvm管理的Node版本。常见场景:- 终端启动时nvm未自动初始化,导致系统默认的Node v15.14.0被优先调用
- 执行
npm create next-app和npm start的终端窗口,是在切换Node版本前打开的,未刷新环境变量
模块依赖与Node版本不匹配
stream/web是Node.js v16.5.0及以上版本才内置的模块,Node v15.x完全没有这个模块。当npm实际使用v15.14.0安装依赖时,生成的package-lock.json会基于低版本Node的依赖树,后续即使用高版本Node启动,依赖链里的某些包仍会尝试调用低版本Node不存在的模块,导致报错。操作遗漏:未彻底刷新终端环境
每次切换Node版本后,仅删除node_modules和package-lock.json不够,需要关闭当前终端窗口,重新打开一个新窗口再执行安装/启动命令,确保环境变量完全更新;或者手动执行nvm use v18.17.1强制切换当前窗口的Node版本。
内容的提问来源于stack exchange,提问作者Luke Lyu
相关产品推荐
相关产品推荐

