node.js의 자동화 된 의존성과 패키지 관리를 위한 패키지 매니저
npm은 패키지의 버전을 선택할 수 있기 때문에 패키지 버전 차이로 생기는 문제를 방지할 수 있다.
(유의해야할 점)
한번 설치한 모듈을 계속 사용하기 때문에 업데이트 확인이 어렵다.
같은 모듈을 사용해도 프로젝트마다 다른 버전이 필요할 수 있기 때문에 버전 문제가 발생할 수 있다.
위와 같은 문제로 모듈 변경사항이 잦은 create-react-app 같은 보일러플레이트에서는 최신버전 설치를 매번 해줘야 하기 때문에 번거롭다.
패키지의 최신버전 파일을 불러와 설치하여 실행시키고 실행된 이후에 해당 패키지를 제거하는 방식입니다.
npm 으로 install 하면
1. CRA에 포함된 수 많은 의존성 라이브러리들이 컴퓨터에 계속 남아있는다.
2. CRA 버전 업데이트에 따라 변경된 사항이 있으면, 글로벌 설치된 CRA패키지를 지우고 다시 설치를 해야한다.
npx를 사용하게 되면, 이러한 단점을 해결
npx 로 CRA를 설치하면, CRA패키지를 잠깐 다운받고 CRA 프로젝트를 생성 후, 다시 패키지를 삭제한다.
이러한 방식으로 PC에 CRA의 무거운 패키지들을 남기지 않게 되고, 항상 최신 버전의 CRA를 사용할 수 있다.
https://seizemymoment.tistory.com/106
https://helloinyong.tistory.com/177