[노드, 리액트 기초 | React] #14. npm과 npx

ppmyor·2022년 7월 13일
0

노드, 리액트 기초

목록 보기
14/26
post-thumbnail

사실 개발을 하면서 npx, npm 등의 키워드는 정말 많이 사용했지만 정확히 무슨 뜻인지 알고 사용하지는 않았었는데 이참에 정리해보고자 한다.

⚙️ npm

npm은 node package manager의 약자로 레지스트리와 같은 저장소 역할을 한다. 즉, 라이브러리들을 담고있는 역할이다. 배포나 실행 등을 할 때에도 사용하는데 npm에 관한 내용들은 모두 package.json 에 정의가 되어 있다.
npm으로 설치하는 옵션은 크게 두가지로 나뉜다.

  • npm install locally
  • npm install globally
    -g 라는 옵션을 사용하지 않는다면 모두 local의 node-modules에 받아진다. -g 옵션을 사용했을 때는 global로 받아지기 때문에 project 안이 아닌 컴퓨터 혹은 linux 환경등에 저장되게 된다. 이 때 맥은 bin/ 리눅스는 /usr/local/bin 등에 받아지게 된다.

⚙️ npx

npx가 새로운 패키지 관리 모듈은 아니고 npm 5.2.0 버전부터 새로 추가된 도구이다.
원래 react app을 받을 때에는 npm -g 를 이용해 global 디렉토리에 다운을 받았는데 이제는 npx를 이용하여 CRA를 이용할 수 있다. npx는 다운받지 않고 노드 레지스트리에 있는 것을 가져와 사용하도록 한다. 예로 npx create-react-app . 을 실행하게 된다면 npx가 npm 레지스트리에서 CRA를 찾아 다운로드 없이 실행시켜준다. 이는 disk space를 낭비하지 않는 것과 항상 최신 버전을 사용할 수 있는 장점이 있다.

⚙️ yarn

번외로 yarn도 한번 살펴볼까한다. yarn도 npm과 마찬가지로 패키지 관리 모듈이다.

🥊 yarn과 npm의 차이

  • 속도
    npm은 패키지를 한 번에 하나씩 순차적으로 설치하는 반면 yarn은 여러 패키지를 동시에 가져오고 설치하도록 최적화되어 있어 패키지 설치 속도 측면에서 yarn이 npm보다 빠르다.

  • 보안
    npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행하기 때문에 보안 시스템에 몇 가지 취약성이 발생한다. 반면 yarn은 yarn.lock 또는 package.json파일에 있는 파일만을 설치하기 때문에 보안 측면에서 npm보다 훨씬 안전하다.

➕ 참고

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의 를 공부하며 작성한 글입니다.
npm과 yarn의 차이는 해당 글을 참고하였습니다.

profile
유영하는 개발자

0개의 댓글