문제상황
현재 next.js의 버전이 13.x.x 에서 14.0.0 으로 업데이트 되면서
pnpm run dev
위 명령어로 next.js를 실행할시
아래와 같은 에러를 보게 됐습니다.
class NextRequest extends Request {
^
ReferenceError: Request is not defined
at Object.<anonymous> (/Users/gimdonghyeon/Desktop/local_repository/nabi-market-client/node_modules/.pnpm/next@14.0.1_@babel+core@7.23.2_react-dom@18.0.0_react@18.0.0/node_modules/next/dist/server/web/spec-extension/request.js:28:27)
at Module._compile (node:internal/modules/cjs/loader:1155:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
at Module.load (node:internal/modules/cjs/loader:1033:32)
at Function.Module._load (node:internal/modules/cjs/loader:868:12)
at Module.require (node:internal/modules/cjs/loader:1057:19)
at Module.mod.require (/Users/gimdonghyeon/Desktop/local_repository/nabi-market-client/node_modules/.pnpm/next@14.0.1_@babel+core@7.23.2_react-dom@18.0.0_react@18.0.0/node_modules/next/dist/server/require-hook.js:64:28)
at require (node:internal/modules/cjs/helpers:103:18)
at Object.<anonymous> (/Users/gimdonghyeon/Desktop/local_repository/nabi-market-client/node_modules/.pnpm/next@14.0.1_@babel+core@7.23.2_react-dom@18.0.0_react@18.0.0/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js:37:18)
at Module._compile (node:internal/modules/cjs/loader:1155:14)
원인
위 에러의 원인은 next.js를 14 버전으로 사용하기위해 노드 버전을 18버전으로 업데이트 하지 않았기 때문입니다.
해결
따라서 아래와 같은 과정을 따라 해결하시면 됩니다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
터미널 껐다가 다시 켜기
nvm install 18.17.0
nvm use 18.17.0