728x90
반응형
오류 발견
VS Code의 터미널을 통하여 npx 로 리액트 작업을 수행하려 했는데 에러가 발생했다.
오류의 전문은 다음과 같다.
npx : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Program Files\nodejs\npx.ps1 파일 을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/ fwlink/?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + npx create-react-app portfolio-app + ~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
오류 원인
문제는 PowerShell의 보안 설정 때문이다.
Windows는 기본적으로 악성 스크립트의 실행을 막기 위해 실행 정책(Execution Policy)이라는 보안 기능을 사용한다.
- PowerShell의 기본 실행 정책
- 기본적으로 PowerShell의 실행 정책은 Restricted 또는 RemoteSigned라는 실행 정책을 사용한다.
- Restricted 정책은 모든 스크립트 실행을 차단한다.
- RemoteSigned 정책은 로컬에서 작성된 스크립트는 허용하지만, 인터넷에서 다운로드된 스크립트는 신뢰할 수 있는 서명을 필요로 한다.
- npx의 동작 방식
- npx는 필요한 패키지를 실행하기 위해 일시적으로 스크립트를 생성하고 실행한다.
- 하지만 PowerShell의 기본 실행 정책이 스크립트 실행을 제한하고 있어서 npx가 내부적으로 사용하는 스크립트가 차단된다.
- 보안 우려
- Windows는 외부에서 다운로드된 스크립트가 실행되면서 발생할 수 있는 악성코드 문제를 방지하기 위해 이런 제한을 둔다.
- 하지만 npx는 안전한 도구로, 이를 허용하는 실행 정책을 설정하면 문제를 해결할 수 있다.
오류 해결
관리자 권한으로 PowerShell을 열고 아래 명령어를 실행하자
get-ExecutionPolicy
그럼 현재 어떤 실행 정책을 사용하고 있는지 알 수 있다.
현재 Restricted 상태인걸 확인할 수 있다.
다음으로 실행 정책을 RemoteSigned으로 변경해줘야 한다.
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
위 명령어는 현재 사용자의 실행 정책을 RemoteSigned로 변경한다.
💡주의사항 : Set-ExecutionPolicy 를 실행할 때 관리자 권한이 필요할 수 있다.
무언가 문제가 계속되면 PowerShell을 관리자 권한으로 실행했는지 확인해보자.
파워셀에서 실행시켜보자.
확실하게 바뀐 것을 확인할 수 있었다.
이제 로컬에서 실행하는 스크립트는 허용될 것이다.
잘 되는 것을 확인할 수 있었다.
Next
안 그러면 좋겠지만 또 다른 오류가 생긴다면..
728x90
반응형
'React' 카테고리의 다른 글
Visual Studio Code 설치하기 (0) | 2024.11.19 |
---|---|
React 시작하기 (2) | 2024.11.18 |
Node.js 설치하기 (0) | 2024.11.17 |