2020. 12. 10. 11:31ㆍprogramming/node.js
(이 글은 2017년도에 작성된 글을 복원하였습니다.)
npm이 무엇인지 알아볼까요
Node Package Manager의 약자로 Node js 에서 사용되는 모듈을 모아둔 패키지 꾸러미라고 생각하면 됩니다.
최근 node js 의 버전은 node js 를 설치하면 npm도 같이 설치되기 때문에 어렵지 않습니다.
cmd 창을 열고 npm -v 를 입력하면 현재 npm 버전정보를 알 수 있습니다.
npm -help 를 입력하면 npm 관련 명령어를 자세히 볼 수 있습니다.
패키지를 설치하고자 할 때 npm install 패키지명 을 입력하면 됩니다.
node js 프로젝트에서 package.json 으로 만들어지는 파일은 npm 패키지를 관리할 수 있는 dependencies 가 있습니다.
npm을 통해서 일일히 작성하지 않아도 package.json 을 자동적으로 생성하는 명령어를 통해 생성하는 방법을 알아보겠습니다.
> npm init 이라는 명령어를 입력하면 package.json 파일을 생성할 수 있게 정보를 입력하도록 단계별로 진행이 됩니다.
해당 정보를 입력한 결과 package.json 파일을 보면 다음과 같습니다.
{
"name": "shop-nodejs",
"version": "1.0.0",
"description": "nodejs 로 구현하는 쇼핑몰 예제 프로젝트 깃허브 입니다.",
"main": "index.js",
"scripts": {
"start": "nodemon ./app.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/cooingpop/shop-nodejs.git"
},
"author": "cooingpop",
"license": "ISC",
"bugs": {
"url": "https://github.com/cooingpop/shop-nodejs/issues"
},
"homepage": "https://github.com/cooingpop/shop-nodejs#readme",
"dependencies": {
"body-parser": "^1.17.2",
"ejs": "^2.5.6",
"express": "^4.15.3",
"mongodb": "^2.2.30",
"mongoose": "^4.11.3",
"mongoose-auto-increment": "^5.0.1",
"morgan": "^1.8.2",
"path": "^0.12.7"
}
}
package.json 안에 dependencies 에는 프로젝트에 포함되어 있는 모듈을 관리할 수 있도록 작성되어 있습니다.
프로젝트에 모듈이 포함되어 있지 않아도 dependencies에 있는 모듈 리스트를 통해 한 번에 설치할 수 있습니다.
npm update 라는 명령어를 사용합니다.
node js 프로젝트가 설치되어 있는 폴더에서
> npm list 를 입력하면
현재 설치되어 있는 모듈을 리스트로 볼 수 있으며,
npm list 를 했는데 아래처럼 npm ERR! missing 이 뜬다면
dependencies에는 있지만 현재 프로젝트에 아래 모듈들이 포함되어 있지 않다는 뜻입니다.
npm install 패키지명을 통해 설치하지만 package.json 에 dependencies를 이용해서 전부 설치하고자 할 때
명령어를 입력하는 최상위 경로를 package.json 이 있는 곳에 두고, npm install 을 입력하면 package.json에 있는
dependencies 에 포함된 모든 모듈을 설치합니다. 만약 package.json이 없는 곳에서 npm install 만 입력하면 오류가 나겠죠.
> npm list -g –depth=0
설치되어 있는 패키지 중에서 깊이가 0 인 모듈만을 출력하는 명령어 입니다.
express 패키지를 설치해볼까요.
> npm install –save express
npm install –save 모듈명 을 통해 패키지를 설치할 경우에는 해당 모듈을 설치하면서 package.json 에 있는 dependencies에
자동적으로 추가한다는 옵션 명령어 입니다. –save를 통해서 모듈을 설치하는 편이 나중에 프로젝트 관리에는 효율이 높겠죠.
위에 package.json에 dependencies에는 모듈이름 : “버전” 이 처럼 명시되어 있는데 버전이 좀 더 높거나 낮아도 가능한 경우도
있겠죠.
이 때, 버전에도 옵션을 사용해서 관리할 수 있습니다.
version : 완전히 일치하는 버전
= version : 완전히 일치
<version : 해당 버전보다 작은 버전
<=version : 해당 버전과 같거나 작은 버전
>version : 해당 버전보다 높은 버전
>=version : 해당 버전과 같거나 높은 버전
~ version : ~ 버전 범위 ex) ~1.0 1.0 부터 2.0보다 작은 버전
버전을 직접적으로 표기 가능합니다. 1.5.x
관련해서 더 상세한 내용은 https://docs.npmjs.com/files/package.json
package.json docs에서 볼 수 있습니다.
소스의 변화를 감지하여 자동적으로 서버를 재시작하도록 도와주는 nodemon을 설치해보겠습니다.
nodemon 모듈을 설치하고 package.json에 scripts 부분을 다음과 같이 수정합니다.
"scripts": {
"start": "nodemon ./app.js",
"test": "echo \"Error: no test specified\" && exit 1"
}
“start” : “nodemon ./app.js” 을 추가하도록 합니다.
실행시 app.js를 첫 시작으로 하며, nodemon 명령어로 실행하라는 뜻입니다.
아래와 같이 실행합니다.
js 소스가 변경될 때마다 nodemon이 감지하여 서버를 자동 재시작합니다.
다음 포스팅에서는 MongoDB 를 설치하는 방법을 알아볼게요~!
Continue to code. CTC.
'programming > node.js' 카테고리의 다른 글
[NODE.JS를 하나도 모르는 사람의 딥러닝] NODE.JS ? (0) | 2020.12.10 |
---|---|
[NODE.JS를 하나도 모르는 사람의 딥러닝] NODE JS 설치 및 실행 (0) | 2020.12.10 |
[NODE.JS를 하나도 모르는 사람의 딥러닝] MONGOOSE 연동 (0) | 2020.12.10 |