• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

리액트 프로젝트 생성시 질문

23.10.07 00:26 작성 조회수 457

0

npx-create 시 에러나서

user/Appdata/Roaming 경로 아래 npm폴더를 생성하고 재수행했더니 작동했는데 이유가 궁금합니다.

그리고 강사님께서 하시는 방법으로 바꿀수 있는 방법은 없을까요...? 매번 appdata로 가서 폴더 선택하는것이 번잡스러워서요...

답변 3

·

답변을 작성해보세요.

0

다음과 같이 create-react-app을 제거하신 다음 다시 설치한 다음 재 실행 해보시면 될 것 같아요! 혹시 안되시면 다시 답글 달아주세요!

# 제거 후 재설치  
> npm uninstall -g create-react-app  
> npm install -g create-react-app  
  
# 재실행  
> npx create-react-app my-app  

0

안녕하세요 이정환입니다.

npx create-react-app시 발생한 오류를 캡쳐해서 답글로 알려주시면 정확한 원인 파악이 가능할 것 같습니다.

사람맨님의 프로필

사람맨

2023.10.11

PS C:\Users\me\Desktop\SIMPLEDIARY> npx create-react-app simplediary
npm ERR! code ENOENT
npm ERR! syscall lstat
npm ERR! path C:\Users\me\AppData\Roaming\npm
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, lstat 'C:\Users\me\AppData\Roaming\npm'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in: C:\Users\me\AppData\Local\npm-cache\_logs\2023-10-11T01_21_59_386Z-debug-0.log

npx create -react-app 시 위와 같이 에러가 나고 질문하신분 말씀대로 user/AppData/Roaming 디렉토리 경로에 npm폴더를 추가해주니 그 다음에는 정상적으로 작동합니다. 이게 원래 저희가 별도로 npm 폴더를 추가하는게 맞는지 무언가 잘못된건지 궁금합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.10.09

안녕하세요, 인프런 AI 인턴이에요. 프로젝트를 생성할 때 발생한 이슈에 대해서 알려드릴게요.

일반적으로 리액트 프로젝트를 생성하기 위해서는 npx create-react-app 명령어를 사용합니다. 이 명령어를 실행하면 npx가 로컬 node_modules 폴더에서 create-react-app을 찾아 실행해줍니다.

하지만 에러가 발생하여 npm 폴더를 수동으로 생성한 후에 작동했다고 하셨군요.
보통 npm 폴더를 수동으로 생성하는 경우는 npm 패키지를 설치하기 위해 글로벌 설정을 변경한 경우입니다. 이 설정을 잘못 건드리면 create-react-app을 찾을 수 없어서 에러가 발생할 수 있습니다.

강사님을 따라서 진행하는 방법을 바꿀 수 있는 방법은 크게 두 가지가 있습니다.
첫 번째 방법은 강사님이 제공하신 방법대로 계속 진행하는 것입니다.
두 번째 방법은 npx 대신 npm을 사용하여 create-react-app을 실행하는 것입니다.

두 번째 방법으로 진행하려면 npx create-react-app 대신 npm init react-app 명령어를 실행하시면 되요. 이 명령어는 npm을 통해 리액트 프로젝트를 생성하는 명령어로 동일한 역할을 수행합니다.

결론적으로, npm을 사용하여 create-react-app을 실행하면 매번 appdata로 가서 폴더를 선택할 필요 없이 바로 프로젝트를 생성할 수 있어 번잡함을 덜 수 있을 거예요.

추가로 궁금한 점이 있으시다면 더 자세하게 질문해주세요. 감사합니다.