npm install 정리

xiexie-dev·2023년 5월 16일
0

npm

목록 보기
1/1

시작하며

npm 설치하면서 -g, -save, -save-dev 이런식으로 설치가 진행되었다. 이 설치하는것에 대한 차이를 공부하고자 한다.

[NPM 이란?]

출처: 공식 사이트

NPM(Node Package Manager)
JavaScript 소프트웨어 패키지용 라이브러리 및 레지스트리이다. 세계에서 가장 큰 소프트웨어 레지스트리이며, 전 세계의 오픈 소스 개발자는 npm을 사용하여 소스 코드를 게시하고 공유하고 있다.

간단한 정리와 함께 내가 사용하면서 궁금했던 점들을 찾아보았다.

    1. npm install -g package와 npm intall package과의 차이가 무엇인지
    1. npm install package -dev란?

1. npm install -g package와 npm intall package과의 차이가 무엇인가?

nodemon을 설치할때 2가지 방법이 있는것을 알 수 있었다.

npm install nodemon 

지역 설치(locally)로 실행하는 디렉터리에 설치되고 이 디렉터리 아래의 폴더에 배치된다. npm install node_modules

npm install -g nodemon

** 글로벌 설치(globally)로 모두 실행 위치에 관계없이 시스템의 한 위치(정확히 어디에 따라 설정)에 배치된다 npm install -g
$ npm root -g 를 통해 찾을 수 있으며, -g 사용할 경우 package.json 의 depene 목록에 기록되지 않는다.

그럼 언제 global로 설치해야하는건가?

일반적으로 npm package를 다운 받을 시 local / global 의 선택 기준으로, 대부분의 일반 패키지는 local로 설치 하게 되지만, CLI에서 실행 가능하고 프로젝트 전역에 걸쳐서 재사용이 되어야 하는 패키지는 global로 설치합니다. 그렇기에 우리가 방금 설치한 nodemon의 경우에는 global 설치가 권장되는 편입니다

  1. Dependencies 와 devDependencies

설치하고 package.json에 Dependencies와 devDependencies가 나뉘어 진것이 보인다. 이것은 설치할때 -dev를 붙일경우 devDependencies, 안붙이면 Dependencies에 나오게 된다.
아래 사진은 내가 설치한 npm package에 대한 내용이다.

Dependencies
내부에는 프로젝트 구동 시 필요한 의존성 파일들
즉, 실제로 구동되었을때 사용해야될 패키지들은 여기에 포함이된다.

devDependencies
패키지처럼 실제 코드에 포함되지 않으며 개발 단계에만 필요한 의존성 파일들
즉, 배포에 필요하지 않지만, 개발 시에 필요한 패키지들을 넣어두는 곳이다. 개발단계에서만 필요한 패키지들이기에 굳이 실제 가동때 필요하지 않다.

$ npm install package_name --save-dev
$ npm install package_name -d

결론

이전까지 아무생각없이 npm을 있는 그대로 설치하고 안에 있는 내용들을 제대로 보지 않았다. 패키지를 잘못 넣으면 불필요한 패키지들이 함께 사용되어 무거워 질수도 있고, 또 호환성에 문제가 생길 수 있기에 이제는 어떨때 지역/전역, dependencies/devDependencies를 구분해서 넣어야겠다.

profile
글로벌 프로페셔널 개발자로 성장이 목표

1개의 댓글

comment-user-thumbnail
2023년 5월 17일
  1. npm install: 프로젝트의 종속성을 설치합니다.
    --save 또는 -S: 종속성을 package.json 파일의 dependencies에 추가합니다.
    --save-dev 또는 -D: 종속성을 package.json 파일의 devDependencies에 추가합니다.
    --global 또는 -g: 전역으로 패키지를 설치합니다.

  1. npm uninstall: 프로젝트의 종속성을 제거합니다.
    --save 또는 -S: package.json 파일의 dependencies에서 제거합니다.
    --save-dev 또는 -D: package.json 파일의 devDependencies에서 제거합니다.
    --global 또는 -g: 전역으로 설치된 패키지를 제거합니다.

  1. npm run: package.json 파일의 "scripts"에 정의된 스크립트를 실행합니다.

    npm run start: 프로젝트를 실행합니다. 일반적으로 개발 서버를 시작하는 데 사용됩니다.
    npm run build: 프로덕션 빌드를 생성합니다.
    npm run test: 테스트를 실행합니다.
    npm update: 종속성 패키지를 업데이트합니다.


  1. npm init: 새로운 npm 프로젝트를 초기화합니다. package.json 파일을 생성합니다.
  2. npm search: npm 레지스트리에서 패키지를 검색합니다.
  3. npm publish: 패키지를 npm 레지스트리에 게시합니다.
  4. npm outdated: 프로젝트의 오래된 종속성을 확인합니다.
  5. npm upgrade: 프로젝트의 종속성을 최신 버전으로 업그레이드합니다.

위에 제시된 것들은 주요한 npm 명령어와 옵션들 중 일부입니다.

답글 달기