[Node] npm, npx?

Lee 🧙🏻‍♂️·2021년 9월 21일
0
post-thumbnail

🤦‍♂️ 멍청한 나..

며칠전 front-end 면접을 봤는데 npm이 무엇인지에 대해 질문을 받았다. 지금까지 npm, npx, yarn을 사용하면서 이게 뭔지 왜 사용하는지 생각없이 사용하고 있었다..🤦‍♂️ 참 멍청했고 그래서 그냥.. package관리? 라고 대답했다..
그래서 지금이라도 알아보려고 한다!!

🤷‍♂️ 그래서 npm이 뭔데?

  • npm : Node Package Manager의 약자.
  • Package(Moudule) : 프로그램의 구성요소 중 특정 기능을 수행할 수 있는 코드의 집합(라이브러리).

개발자들이 패키지(모듈)의 설치 및 관리를 쉽게 하기 위해 도와주는 매니저(관리 도구)이다.

npm은 3가지 요소로 구성되어 있다.

  1. WebSite
    • 웹사이트를 통해 패키지들을 찾고, 관련 문서를 볼 수 있으며, 패키지를 공유, 배포할 수 있다.
  2. CLI
    • Command Line Interface의 줄임말로, 터미널을 뜻한다.
    • 대부분의 개발자들이 CLI를 통해 npm 패키지 업데이트/설치/제거/관리를 할 수 있다.
  3. Registry
    • 레지스트리는 대규모의 public DB를 뜻하며, npm 레지스트리에는 자바스크립트 소프트웨어와 메타 정보들이 들어 있다.
    • 현재 npm 레지스트리에는 100만개 이상의 모듈이 들어있다.😲
    • package.json에 private: true를 설정하면 공개적 배포를 막을 수 있다.

🤷‍♂️ npm을 사용하는 이유는?

  1. 프로그램을 제작 시 어떤 기능을 구현할 때 자신이 직접 코드를 작성하지 않아도 동일한 기능의 남이 만든 코드를 쉽게 사용 할 수 있다.
  2. 코드의 재사용성이 높아지고 유지 보수가 쉬워질뿐 아니라 형상관리가 용이해진다

🤷‍♂️ npx??

npx는 Node 패키지를 실행시키는 하나의 도구이고 npm5.2.0버전부터 npm에 딸려있는 기능 중 하나다.

npx의 역할!

  1. 기본적으로 실행되어야할 패키지가 경로에 있는지 먼저 확인.
  2. 경로에 그대로 있다면, 그대로 실행.
  3. 그렇지 않다면 패키지는 설치되어 있지 않음을 의미하고, npx가 최신 버전의 패키지를 설치한 후에 실행한다.

일단 이정도만 알아보고 나중에 더 자세하게 하나씩 알아보도록 하자!.👍

profile
더 나은 개발자가 되기 위해 기록합세!🧙🏻‍♂️

0개의 댓글