npm은 node package manager의 약자로, nodeJS 생태계의 수많은 라이브러리를 손쉽게 설치하고 사용할 수 있도록 도와주는 패키지 매니저입니다.
리액트 프로젝트를 만드는 상황을 가정해보겠습니다.
보통 아래와 같이 CRA명령어를 사용해서 앱을 생성할거에요.
npx create-react-app my-app
nodeJS의 패키지 중에는 라이브러리가 아니라 CRA처럼 독립적으로 실행할 수 있는 프로그램이 있습니다. 이렇게 프로그램 형태로 동작하는 패키지는 "npm i -g"명령어로 설치해서 항상 최신 버전 유지해야 한다는 번거로움이 있습니다.
npx는 이런 번거로움을 극복하기 위해 만들어졌습니다.
npx는 패키지들의 가장 최신 버전을 찾아내 "npm i -g"명령어로 설치해 주는 프로그램입니다.
npx create-react-app my-app
따라서, 우리가 이 명령어로 리액트 앱을 시작한다는 의미는 언제나 최신 버전의 리액트를 사용한다는 의미가 됩니다.