티스토리 뷰

EtC

npm 명령어 사용

freecatz 2022. 5. 12. 10:49

NPM = Node Package Manager(or Module)

Node.js 에서 패키지를 관리하는 명령어 라고 한다. Node.js 초창기에는 Node.js 와 NPM을 따로 설치 하였으나, 현재는 Node.js 설치시 NPM이 같이 설치 된다.

node.js 는 https://nodejs.org/ko/ 에서 운영체제 별로 다운로드 받을 수 있다.

npm 명령어의 자세한 설명은 https://docs.npmjs.com/cli/v8/commands/npm 를 참고 하기 바란다.

 

1. node.js 및 npm 버전 확인

freecatz:~ $ node -v   

v14.17.6

freecatz:~ $ node --version   

v14.17.6

 

freecatz:~ $ npm -v

8.9.0

freecatz:~ $ npm --version

8.9.0

 

2. npm 업그레이드 

아래의 명령어는 설치된 npm 을 제거 하고 다시 설치 한다.

freecatz:~ $ sudo npm install -g npm 

 

3. npm 초기화

프로젝트 디렉토리를 생성 한뒤, 해당 디렉토리로 이동 하여 아래의 명령어를 실행 한다.

freecatz:~ $ mkdir npm-test && cd npm-test

freecatz:npm-test $ pwd

/Users/freecatz/npm-test

freecatz:npm-test $ ls -al

total 0

drwxr-xr-x      2  freecatz  staff    64B May 12 08:17 ./

drwxr-x---+  15  freecatz  staff   480B May 12 08:19 ../

 

# 아래의 명령어 실행 후, 몇가지 입력 해야 하는 부분은 엔터 키로 기본값을 넣거나, 필요한 내용을 직접 입력 하면 된다.

freecatz:npm-test $ npm init

This utility will walk you through creating a package.json file.

It only covers the most common items, and tries to guess sensible defaults.

 

See `npm help init` for definitive documentation on these fields

and exactly what they do.

 

Use `npm install <pkg>` afterwards to install a package and

save it as a dependency in the package.json file.

 

Press ^C at any time to quit.

package name: (npm-test) <Enter>

version: (1.0.0) <Enter>

description: <Enter>

entry point: (index.js) <Enter>

test command: <Enter>

git repository: <Enter>

keywords: <Enter>

author: <Enter>

license: (ISC) <Enter>

About to write to /Users/freecatz/npm-test/package.json:<Enter>

 

{

  "name": "npm-test",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1"

  },

  "author": "",

  "license": "ISC"

}

 

 

Is this OK? (yes) <Enter>

freecatz:npm-test $ ls -alh

total 8

drwxr-xr-x     3     freecatz  staff    96B May 12 08:26 ./

drwxr-x---+ 15     freecatz  staff   480B May 12 08:19 ../

-rw-r--r--      1      freecatz  staff   204B May 12 08:26 package.json

 

위와 같이 package.json 파일이 생성 되었는지 확인 한다.

 

4. 패키지 검색

npm 으로 설치할 수 있는 패키지를 검색 한다.

ex) npm search <패키지 이름 또는 검색어>

 

freecatz:npm-test $ npm search vue

 

5. 패키지 정보 확인

npm 으로 설치할 수 있는 패키지의 정보를 확인 한다.

ex) npm info <패키지 이름>

 

freecatz:npm-test $ npm info vue

 

vue@3.2.33 | MIT | deps: 5 | versions: 372

The progressive JavaScript framework for building modern web UI.

https://github.com/vuejs/core/tree/main/packages/vue#readme

 

keywords: vue

 

dist

.tarball: https://registry.npmjs.org/vue/-/vue-3.2.33.tgz

.shasum: 7867eb16a3293a28c4d190a837bc447878bd64c2

.integrity: sha512-si1ExAlDUrLSIg/V7D/GgA4twJwfsfgG+t9w10z38HhL/HA07132pUQ2KuwAo8qbCyMJ9e6OqrmWrOCr+jW7ZQ==

.unpackedSize: 2.5 MB

... 길어서 중략 ...

 

6. 패키지 설치 

npm 으로 패키지를 설치 한다.

ex) npm install <패키지 이름> 

 

* 참고 

-g 옵션으로 설치한 패키지의 경우 시스템 전역에 설치 되어, 다른 프로젝트에서도 사용 할 수 있게 된다고 한다. 

node 가 설치된 디렉토리의 lib 아래 node_modules 에 설치가 된다.

본인의 경우 /Users/freecatz/devel/node/node-v16.15.0-darwin-x64/lib/node_modules 에 설치 됨.

--save 옵션은 '--production' 빌드시 해당 패키지가 포함 된다고 한다. 입력 하지 않은 경우 기본값으로 보인다.

--save-dev 옵션은 '--production' 빌드시 해당 패키지가 포함 되지 않고 빌드 된다고 한다.

현재 이 문서는 빌드 및 배포를 고려 하지 않으므로 '--save-dev' 옵션을 사용할 것이다.

 

freecatz:npm-test $ npm install vue --save-dev

freecatz:npm-test $ cat package.json 

{

  "name": "npm-test",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1"

  },

  "author": "",

  "license": "ISC",

  "devDependencies": {

    "vue": "^3.2.33"

  }

}

 

이전에 없었던 'devDependencies' 항목에 'vue' 패키지가 추가 되었다.

'--save-dev' 옵션을 사용 하지 않은 패키지의 경우  'dependencies' 라는 항목에 추가 된다.

 

 

7. 설치된 패키지 목록 확인

npm 으로 시스템 전역에 설치된 패키지를 확인 한다.

freecatz:npm-test $ npm ls -g

                  또는

freecatz:npm-test $ npm list -g

/Users/freecatz/devel/node/node-v16.15.0-darwin-x64/lib

+-- corepack@0.10.0

+-- npm@8.10.0

`-- vue@3.2.33

 

npm 으로 현재 프로젝트에 설치된 패키지를 확인 한다.

freecatz:npm-test $ npm ls

                  또는

freecatz:npm-test $ npm list

npm-test@1.0.0 /Users/freecatz/npm-test

`-- vue@3.2.33

 

8. 패키지 삭제

npm 으로 설치된 패키지를 삭제 한다.

ex) npm uninstall <패키지 이름> 

-g 옵션을 이용하게 되면 시스템 전역에 설치한 패키지를 삭제 한다.

 

freecatz:npm-test $ npm uninstall vue

freecatz:npm-test $ cat package.json 

{

  "name": "npm-test",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1"

  },

  "author": "",

  "license": "ISC"

}

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함