npx

라이브 코딩을 보아하니, 모듈을 받을 때 npm, npx, yarn 등을 혼용하는 것처럼 느껴진다. 특히 Sequelize를 다룰 때 npx 를 많이 쓰기에 이 녀석이 무엇인지 궁금해져 버렸다.

그래서 npx는 뭘까?

npx는 새로운 패키지 관리 모듈이 아니라, 자바스크립트 패키지 관리 모듈인 npm(Node Package Module)의 5.2.0 버전부터 새로 추가된 도구이다!

npx 명령어를 사용할 수 있다면, npm 레지스트리에 올라가있는 패키지를 쉽게 설치하고 관리할 수 있도록 도와주는 CLI 도구이다.

  • npm: Package Manager(관리)

  • npx: Package Runner(실행)

왜 npx가 도입될 필요가 있었을까?

과거 npm으로 패키지를 설치할 때 두 가지 케이스가 있었다.

  1. 전역으로 패키지를 설치하여 의존성 라이브러리들을 전체적을 관리하는 방법

  2. 특정 프로젝트에만 의존성 라이브러리를 설치하는 방법

이러한 의존성 라이브러리들이 전역이나 로컬에 설치된 채 관리가 되면 설치된 위치에 따라 따로 관리해줘야한다는 번거로움이 발생한다.

npx는 기존 npm 설치 방법과는 다르게 일일이 설치, 제거를 할 필요 없이 일회성으로 원하는 패키지를 npm 레지스트리에 접근해서 실행시키고 설치하는 실행도구이다. 따로 패키지를 설치하고 업데이트하지 않더라도 npm 레지스트리에 올라가 있는 최신 버전을 실행시키고 설치만 시키면 끝인 셈이다.

참고

Last updated