当我在 nextjs 项目中运行 npm run dev 时,出现以下错误:
.../node_modules/next/dist/server/web/spec-extension/request.js:28
class NextRequest extends Request {
^
ReferenceError: Request is not defined
at Object.<anonymous> (.../node_modules/next/dist/server/web/spec-extension/request.js:28:27)
at Module._compile (node:internal/modules/cjs/loader:1097:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
at Module.load (node:internal/modules/cjs/loader:975:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:999:19)
at Module.mod.require (.../node_modules/next/dist/server/require-hook.js:64:28)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (.../node_modules/next/dist/server/web/spec-extension/adapters/next-request.js:37:18)
at Module._compile (node:internal/modules/cjs/loader:1097:14)
Node.js v17.4.0
当我运行 node -v 时,我得到:
v20.9.0
我已经从我的机器上卸载了node并使用nvm重新安装了它。
据我了解,nextjs 和我安装的软件包正在抱怨,因为我没有使用所需的节点版本。然而,自从在我的终端中运行 node -v 时,我发现我正在使用 v20.9,我不确定为什么 Nextjs 没有检测到正确的节点版本
有人知道我该如何解决这个问题吗?
在项目内打开终端并运行:npm i node@lts。
安装最新的节点 LTS 版本
对于 Windows,请从 https://nodejs.org/en 下载最新的 LTS 版本 对于 Linux 或 Mac,请使用 nvm https://github.com/nvm-sh/nvm
使用最新版本或通过NVM更改节点版本即可解决问题