npx는 특정 패키지를 설치하지 않고 사용할 수 있는 방법이다. cli를 쓰고 싶은데 내 컴퓨터에 패키지를 설치하고 싶지는 않을 때 사용할 수 있다. 실전에서 어떻게 사용하는지 예시를 통해 설명하겠다.
create-react-app 혹은 vue 등의 명령어를 사용하고 싶다면 아래와 같이 해당 패키지를 설치하고 사용해야 한다.
npm install create-react-app
create-react-app newApp
npm install @vue/cli
vue create newApp
여기서 내 컴퓨터에 이 패키지를 설치하지 않고 이 명령어들을 사용하고 싶을 때 npx 를 사용한다. npx 의 원리는 해당 패키지를 깔았다가 명령어 수행하고 알아서 지우는 것이라고 생각하면 편하다.
위의 구조를 보면 npm install {설치할 패키지}
+ {cli 메인 명령어} + 이하 명령어
로 이루어져있다.
설치할 패키지 | cli 메인 명령어 | |
---|---|---|
create-react-app | create-react-app | create-react-app |
vue | @vue/cli | vue |
npx 의 사용법은 npx {설치할 패키지} + 이하 명령어
이다. 여기서 중요한 것은 {cli 메인 명령어}
가 생략된다는 점이다. 그럼 마지막으로 실전 예제를 보고 마무리하자.
npx create-react-app newApp
npx @vue/cli create newApp
뭐 안될건 없다. 그런데 이 경우에는 최신 버전을 유지할 수 없다는 문제가 생긴다. 가령 내가 2018년에 create-react-app 을 설치하고 2020년에 create-react-app cli 명령어를 사용한다면 2018년 버전이 동작할 것이다. 이 것이 별로 바람직하지 않다는 것은 굳이 설명할 필요가 없다. 그럼 이를 방지하기 위해서 주기적으로 create-react-app 을 업데이트 해준다면? 그럴거면 그냥 npx 쓰고 만다.