• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

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

21.09.15 15:16 작성 조회수 324

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 명령어로 전역 설치를 했었기 때문일 것으로 추정되네요.