IT/JS

npm install에 대하여

프티 2021. 8. 9. 00:46
반응형

npm이란?

npm은 Node Package Manager의 약자로,

자바스크립트 언어를 위한 패키지 관리자이다.

 

Node.js의 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리 생테계이기도 하다.

 

 

NodeJS에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할을 하며,

설치와 관리를 수행할 수 있는 CLI(Command Line Interface)를 제공한다.

 

서드파티(주 기술을 이용하여 파생되는 따위의 것들을 생산하는 집단) 모듈패키지라고 한다.

그리고 모든 패키지엔 package.json 파일이 있다.

 

npm install + no arguments

npm install를 실행하면 package.json의 dependencies 필드 정보를 기반으로 직접 패키지를 생성한다.

그리고 설치된 모듈들과 함께 node_modules를 생성한다.

 

npm install은 package.json 파일과 같은 디렉터리에서 실행된다.

 

또한 package-lock.json 파일을 새성한다.

이 파일은 설치된 정확한 종속 트리를 설명한다.

예를 들어 module A는 module C의 버전 1을 요구하지만,

module B는 module C의 버전 2를 요구할 수도 있다.

 

이런 module C의 버전 1과 버전 2가 구조적인 형식으로 종속 트리에 설치되는 것이다.

종속 트리를 통해 각 모듈의 버전이 속한 지점을 파악할 수 있게 한다.

 

이런 점 때문에 package-lock.json 파일은 패키지의 후속 설치에서 더욱 정확한 설치가 가능하게끔 해준다.

 

npm install + arguments

npm install + arguments를 실행하면 존재하던 node_modules 폴더에 특정 모듈들을 설치하게 된다.

 

arguments의 내용에 따라 특정한 버전만 설치할 수 있는 등,

구체적이고 정밀하게 설치할 수 있다.

 

버전을 명시하지 않으면 가장 최신 버전을 다운로드해준다.

npm install 후에 패키지를 공백을 기준으로 나열하면,

패키지들이 설치된다.

 

npm install folder-name

npm install folder-name인 경우,

프로젝트에 있는 node_module에 모든 패키지들을 다운로드하게 된다.

또한 명시된 폴더의 하위 디렉터리가 package.json와 같은 위치에 있다고 가정하며,

새로운 node_module을 생성하지 않고 기존 node_module에 dependencies가 호이스트 된다.

 

npm install -g

npm install -g는 패키지를 두 곳에 설치하게 한다.

한 곳은 프로젝트의 디렉터리, 다른 한 곳은 유저의 전역 node_modules 폴더이다.

보통 여러 프로젝트에서 재사용되거나,

CLI에 실행 가능한 커맨드를 제공하는 경우 전역 설치를 한다.

 

npm install with --save

npm install pacakge --save는 package.json의 dependencies에 명시한 패키지를 추가함으로써

후에 이 패키지가 설치되도록 한다.

 

npm install with --save-dev

일반적인 dependencies 필드가 아닌 개발 필드에 패키지를 추가함으로써,

개인 빌드에 영향을 주지 않게 한다.

 

npm install with -p or --production

개발 dependencies 필드의 내용을 제외한 설치를 할 때 사용한다.

 

 

https://ko.wikipedia.org/wiki/Npm_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4) 

 

npm (소프트웨어) - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

https://velog.io/@prayme/NPM%EC%9D%B4%EB%9E%80

 

NPM이란?

최근 Anaconda 환경을 자주 사용했다. conda를 사용하면서 환경관리의 편리함에 놀라고 있었는데 NPM이란 녀석을 사용하다보니 이녀석도 아주 편리한 것이 아니겠는가? 그런 이유로 NPM이라는 녀석을

velog.io

https://www.stackchief.com/tutorials/npm%20install%20%7C%20how%20it%20works

 

The npm install command and how it works with and without arguments. Learn what happens under the hood with dependency resoluti

The npm install command and how it works with and without arguments. Learn what happens under the hood with dependency resolution and the difference between npm dependencies and devDependencies.

www.stackchief.com

 

반응형