Node.js버전 업그레이드는 아래의 블로그를 참고했다.
https://velog.io/@summer_luna_0/nvm설치설정
NVM 설치, NVM 에러(exit status 5:)
nvm은 node js버전 매니저로, 시스템에 여러 개의 nodeJS를 설치하고 사용할 버전을 쉽게 전환 할 수 있도록 도와주는 shell script로 rvm(Ruby version manager)과 비슷한 역할을 수행한다.Node 버전 확인$ node -vN
velog.io
Next.js에서는 Node.js버전 요구사항으로 18.18.0 이상, 19.8.9이상, 20.x이상의 버전 범위를 명시하고 있다.
현재 내 Node.js버전이 18.17.1이여서 위의 요구 범위보다 낮기 때문에 호환성 문제가 발생한다.
오랜만에 Node.js버전을 업그레이드를 했다.
💻Next.js 설치
Nextjs설치 방법
1. npx create-next-app@latest [your app name]
주의: nextjs설치 시 turboWebpack설치 유무가 뜰 때 무조건 No를 선택하자. tailwind적용이 안되서 결국엔 turbo webpack없는 새 프로젝트 만들어서 tailwind 적용한거 확인함...
💻Nextjs 수동설치
1. 바탕화면 등 원하는 위치에 nextjs를 설치할 폴더를 생성한다.
2. 폴더를 vscode에서 연다.
3. 터미널에서 npm init -y을 한다.
4. pakage.json의 "license": 'MIT'로 수정한다.
5. 터미널에 nextjs를 설치한다.
- 명령어 : npm install react@latest next@latest react-dom@latest
6. package.json의 script를 "dev": "next dev"으로 수정한다.
7. 폴더 root위치에서 app폴더를 생성하고 하위에 page.tsx나 page.jsx 파일을 생성한다.(대소문자 중요)
8. page.tsx파일에 아래의 코드를 입력한다.
export default function Tomato(){
return <h1> Hello NextJS!! </h1>
}
9. 터미널에서 npm run dev를 한다.
10. 자동으로 layout.tsx가 생성된걸 알 수 있다.
Node.js로 버전 업그레이드를 하고나서도 Next.js프로젝트의 npm run dev가 안되면서 오류 메시지가 아래처럼 뜬다면?
npm : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Program Files\nodejs\npm.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://g o.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + npm run dev + ~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
위 오류 메시지는 Window PowerShell의 실행 정책(Excution Policy)때문에 발생한다. 기본적으로 PowerShell은 보안상의 이유로 스크립트 실행을 제한하는데, Node.js업그레이드 후 npm 명령어가 npm.ps1스크립트를 호출하면서 차단되는것이다.
해결방법:
- PowerShell 실행 정책 변경
- *경고: 실행 정책을 변경하면 시스템 보안에 영향을 줄 수 있으니, 변경 후에는 반드시 필요한 상황에서만 사용하고 다시 원래 설정으로 복구하는것도 고려해야한다.*
- PowerShell을 관리자 권한으로 실행
- 아래 명령어를 입력하여 현재 사용자 범위의 실행 정책을 파악하기
- Get-ExecutionPolicy -Scope CurrentUser
- 아래 명령어를 입력하여 Y또는 A(전체 허용)을 입력. 현재 사용자 범위의 실행 정책을 RemoteSigned로 변경
- Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- 변경 확인. 아래 명령어를 입력하여 실행 정책이 변경 되었는지 확인한다. 결과가 RemoteSigned로 표시되면 제대로 설정된 것이다.
- Get-ExecutionPolicy -Scope CurrentUser
- 다시 프로젝트로 돌아가서 npm run dev를 실행하여 Next.js프로젝트를 시작한다.
- 다른 쉘(예: CMD)사용(추천)
- PowerShell대신 기본 명령 프롬프트(CMD)를 사용하면 실행 정책 제한 문제가 발생하지 않는다.
- 명령 프롬프트를 실행한다.
- 시작 메뉴에서 'cmd'를 검색 후 엔터를 누르거나 선택하여 명령 프롬프트를 연다.
- 프로젝트 폴더로 이동한다.
- cd 경로\to\your-project
- 개발 서버를 실행한다.
- CMD에서 아래의 명령어를 실행한다.
- npm run dev
- 이 경우 PowerShell의 실행 정책 제한이 없으므로 오류 없이 실행 되어야 한다.
- CMD에서 아래의 명령어를 실행한다.
- CMD 또는 Git Bash사용을 VS Code의 터미널에서 하고 싶다면?
- VS Code의 기본 통합 터미널 셀을 PowerShell 대신 CMD 또는 Git Bash 등으로 변경하자.
- 나는 Bash로 선택했다.
- 그리고 npm run dev 명령어를 입력했다.
- 오류없이 실행된다.
*1번 방법인 PowerShell 실행 정책 변경한 것을 원래 설정으로 복구하는 방법 두 가지*
첫 번째 방법: 기본 실행 정책인 Restricted로 설정
- Set-ExecutionPolicy Restricted -Scope CurrentUser 입력 후 Y 입력.
- Get-ExecutionPolicy -Scope CurrentUser 입력하여 변경 결과가 Retricted로 표시된 걸 확인.
두 번째 방법: 사용자 스코프의 실행 정책 제거(Undefined)
- Set-ExecutionPolicy Undefined -Scope CurrentUser 입력 후 Y 입력.
- Get-ExecutionPolicy -Scope CurrentUser 입력하여 변경 결과가 Undefined로 표시된 걸 확인.
'노마드코더10주챌린지' 카테고리의 다른 글
NextJS - Data Fetching (0) | 2025.04.09 |
---|---|
NextJS - Routing (0) | 2025.04.09 |
5주차 주간회고(3/29~4/4) (0) | 2025.04.04 |
4주차 주간회고(3/22~3/28) (0) | 2025.03.28 |
#8 Animations (0) | 2025.03.27 |