运行Next.js项目遇'Request is not defined'错误,求Node.js升级指导
解决Next.js启动时
Request is not defined错误及Node.js版本升级方案 你遇到的Request is not defined错误确实是Node.js版本不兼容导致的。Next.js(尤其是13.x及以后版本)要求Node.js 18.17或更高版本,因为它依赖Node.js 18+引入的全局Request对象,而Node.js 16.x并不包含这个内置API。
以下是具体的升级步骤和验证方法:
一、推荐使用nvm管理Node.js版本(跨平台通用)
nvm是轻量的Node版本管理器,能快速切换版本且不影响系统全局环境:
安装nvm
- Linux/macOS用户打开终端执行:
执行完成后重启终端,输入curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashnvm --version验证是否安装成功。 - Windows用户可下载nvm-windows安装包完成安装。
- Linux/macOS用户打开终端执行:
安装指定版本的Node.js
安装Next.js要求的最低版本18.17.0:nvm install 18.17.0也可以直接安装最新稳定版:
nvm install node设置默认版本
将刚安装的版本设为终端默认使用的版本:nvm alias default 18.17.0验证版本
输入以下命令确认版本是否达标:node -v输出应为
v18.17.0或更高版本。
二、不使用nvm的原生升级方法
macOS(Homebrew方式)
若已安装Homebrew,执行:
brew update brew upgrade node
升级完成后用node -v验证版本。
Windows(官方安装包)
- 打开「控制面板-程序和功能」,卸载当前的Node.js。
- 下载Node.js官方的v18.17.0或更高版本安装包,运行安装程序完成升级。
Linux(Debian/Ubuntu系列)
执行以下命令添加源并升级:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs
完成后用node -v验证版本。
三、验证修复效果
- 关闭当前所有终端窗口,重新打开一个新终端。
- 进入你的Next.js项目目录,执行启动命令:
npm run dev
此时项目应该能正常启动,Request is not defined错误会消失。
内容的提问来源于stack exchange,提问作者Utsav Desai
相关产品推荐
相关产品推荐

