인프런 커뮤니티 질문&답변

제일일님의 프로필 이미지
제일일

작성한 질문수

프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)

npm과 npx 차이에 대해서 궁금합니다.

작성

·

445

0

강사님 강의를 보다보면 제가 npx를 자주 사용하시는데

npx를 쓰는 이유를 인터넷에 검색해보니 npm run 스크립트를 더 편하게 사용하기 위해서라는 이유가 있더군요.

그런데 납득이 되지 않는 것이

$ npx prettier app.js 보다

$ prettier app.js로도 실행이 가능한데, npx를 쓰는 이유가 정말 npm run 스트립트를 사용하지 않기 위해서라는게 맞나요?

답변 1

1

김정환님의 프로필 이미지
김정환
지식공유자

npx --help 로 보시면 "npm 패키지에서 바이너리를 실행합니다." 라고 설명합니다. 공식 홈페이지에서도 "execute npm package binaries"라고 말하고 있고요. 

npx prettier 명령어는 prettier라는 npm 패키지 바이너리(실행파일)를 실행하는데요. 1) node_modules/.bin 폴더에 prettier가 있으면 실행하고 2) 없으면 다운로드해서 실행하는 원리입니다.

prettier 명령어를 바로 사용할수 있었던 것은 아마도 npm i -g prettier 명령어로 전역 설치를 했었기 때문일 것으로 추정되네요. 

제일일님의 프로필 이미지
제일일

작성한 질문수

질문하기