We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
노드 패키지를 관리해주는 툴이다. JavaScript 라이브러리를 설치하고 관리하는 패키지 매니저다. Node.js(Node)를 통해 다운 받을 수 있다.
1. 사용 방법
(1) npm init npm 초기 환경 설정으로 이름, 설명 등을 적을 수 있고, 이 내용을 바탕으로 package.json이 생성된다. 이 파일로 프로젝트 정보와 패키지들의 의존성을 관리한다.
(2) npm install
프로젝트 내 설치한 패키지들의 코드가 포함 되어있는 node_modulus 폴더가 생긴다.
npm install ‘패키지명’
npm install ‘패키지명’ -g
2. package.json
현재 프로젝트에 관한 정보와 패키지 매니저를 통해 설치한 모듈들의 의존성을 관리하는 파일이다. 사용하고 있는 패키지들의 명세가 작성 되어있어 프로젝트를 공유할 때 package.json을 공유해 개발 환경을 빠르게 구축할 수 있다.
3. 장점
(1) 용이한 관리
이전에는 라이브러리끼리 연결되어 있어 버전 관리가 불편했지만, npm의 package.json 파일 안에서 dependencies에 뭉쳐져 관리가 편해졌다.
(2) 용이한 설치
npm install 로 빠른 라이브러리 설치가 가능하다.
npm install
npm의 단점인 속도(Performance), 안정성(Stability), 보안성(Security) 개선을 위해 Facebook이 개발한 패키지 관리자이다.
패키지 설치 시 각각의 패키지를 순차적으로 설치하는 npm에 반해 yarn은 병렬적으로 설치를 진행하여 속도를 증가시킨다.
다양한 설치 환경에서 같은 동작을 수행하여 안정적이다.
npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행해 보안 시스템에 취약점이 있다. 반면 yarn은 yarn.lock 또는 package.json 파일에 있는 파일만을 설치한다.
새로운 패키지 관리 모듈이 아닌 npm 5.2.0 버전에서 새로 추가된 도구로 npm 사용을 돕기 위해 npm에서 제공하는 것이다. 패키지를 임시 설치해서 실행하는 용도다.
1. 특징
npx로 프로그램을 설치하면, 임시로 설치-실행까지 된 다음, 흔적도 없이 사라진다. 패키지를 다운 받았다면 node-modulus라는 폴더가 생성되어야 하지만, npx는 node 프로젝트를 방금 실행한 것처럼 package.json 만이 존재한다.
npm은 패키지 까는 것을 기다리고 (1), 해당 패키지의 실행 파일 위치를 찾아가 실행시켜야(2) 하는 두 단계를 거친다. 그렇지만 npx를 사용하면 한 단계로 압축할 수 있다. 아래 예시를 통해 쉽게 이해할 수 있다.
예) prettier 라는 패키지 설치
(1) npm
npm i prettier
./node_modulus/.bin/prettier -v
(2) npx
npx prettier -v
일시적으로 node의 다른 버전으로 갈 수 있다. 다만 npx 특성 상 다시 돌아온다.
예) node -v
node -v
v14.15.5
npx node@6 -v
v6.17.1
Github의 gist에 스크립트를 올리고 실행할 때 유용하다. 타인에게 자신의 코드를 공유하고자 하면 gist에 스크립트를 올리고 npx [gist url]만 실행하면 쉽게 공스크립트 실행이 가능하다.
npx [gist url]
2. 실행 과정
기본적으로 실행되어야 할 패키지가 경로에 있는지 확인한다.
있다면, 실행.
그렇지 않다면, npx가 최신 버전의 패키지를 설치한 후 실행한다.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
[JavaScript의 대표적인 패키지 매니저]
NPM (Node Package Manager)
노드 패키지를 관리해주는 툴이다. JavaScript 라이브러리를 설치하고 관리하는 패키지 매니저다. Node.js(Node)를 통해 다운 받을 수 있다.
1. 사용 방법
(1) npm init
npm 초기 환경 설정으로 이름, 설명 등을 적을 수 있고, 이 내용을 바탕으로 package.json이 생성된다. 이 파일로 프로젝트 정보와 패키지들의 의존성을 관리한다.
(2) npm install
프로젝트 내 설치한 패키지들의 코드가 포함 되어있는 node_modulus 폴더가 생긴다.
npm install ‘패키지명’
→ 해당 패키지를 로컬에 설치한다.npm install ‘패키지명’ -g
→ 해당 패키지를 전역에 설치한다.2. package.json
현재 프로젝트에 관한 정보와 패키지 매니저를 통해 설치한 모듈들의 의존성을 관리하는 파일이다.
사용하고 있는 패키지들의 명세가 작성 되어있어 프로젝트를 공유할 때 package.json을 공유해 개발 환경을 빠르게 구축할 수 있다.
3. 장점
(1) 용이한 관리
이전에는 라이브러리끼리 연결되어 있어 버전 관리가 불편했지만, npm의 package.json 파일 안에서 dependencies에 뭉쳐져 관리가 편해졌다.
(2) 용이한 설치
npm install
로 빠른 라이브러리 설치가 가능하다.Yarn
npm의 단점인 속도(Performance), 안정성(Stability), 보안성(Security) 개선을 위해 Facebook이 개발한 패키지 관리자이다.
패키지 설치 시 각각의 패키지를 순차적으로 설치하는 npm에 반해 yarn은 병렬적으로 설치를 진행하여 속도를 증가시킨다.
다양한 설치 환경에서 같은 동작을 수행하여 안정적이다.
npm은 자동으로 패키지에 포함된 다른 패키지 코드를 실행해 보안 시스템에 취약점이 있다. 반면 yarn은 yarn.lock 또는 package.json 파일에 있는 파일만을 설치한다.
NPX (Package Runner)
새로운 패키지 관리 모듈이 아닌 npm 5.2.0 버전에서 새로 추가된 도구로 npm 사용을 돕기 위해 npm에서 제공하는 것이다. 패키지를 임시 설치해서 실행하는 용도다.
1. 특징
npx로 프로그램을 설치하면, 임시로 설치-실행까지 된 다음, 흔적도 없이 사라진다. 패키지를 다운 받았다면 node-modulus라는 폴더가 생성되어야 하지만, npx는 node 프로젝트를 방금 실행한 것처럼 package.json 만이 존재한다.
npm은 패키지 까는 것을 기다리고 (1), 해당 패키지의 실행 파일 위치를 찾아가 실행시켜야(2) 하는 두 단계를 거친다. 그렇지만 npx를 사용하면 한 단계로 압축할 수 있다. 아래 예시를 통해 쉽게 이해할 수 있다.
예) prettier 라는 패키지 설치
(1) npm
npm i prettier
./node_modulus/.bin/prettier -v
(2) npx
npx prettier -v
일시적으로 node의 다른 버전으로 갈 수 있다. 다만 npx 특성 상 다시 돌아온다.
예)
node -v
v14.15.5
npx node@6 -v
v6.17.1
node -v
v14.15.5
Github의 gist에 스크립트를 올리고 실행할 때 유용하다. 타인에게 자신의 코드를 공유하고자 하면 gist에 스크립트를 올리고
npx [gist url]
만 실행하면 쉽게 공스크립트 실행이 가능하다.2. 실행 과정
기본적으로 실행되어야 할 패키지가 경로에 있는지 확인한다.
있다면, 실행.
그렇지 않다면, npx가 최신 버전의 패키지를 설치한 후 실행한다.
The text was updated successfully, but these errors were encountered: