npm과 yarn을 동시에 사용하면 문제가 생길 수 있다 !
=> 동시에 사용하지 않는 것을 권장
{
"name": "my-nodejs-project", // 프로젝트 이름
"version": "1.0.0", // 프로젝트 버전
"description": "Node.js 프로젝트", // 프로젝트 설명
"main": "index.js", // 진입점 파일
"scripts": {
"start": "node index.js", // 사용자 정의 스크립트
"test": "jest" // 테스트 스크립트
},
"keywords": ["node", "javascript"], // 프로젝트 키워드
"author": "Your Name", // 프로젝트 작성자
"license": "MIT", // 라이선스 종류
"dependencies": { // 종속성 목록
"express": "^4.17.1",
"mongoose": "^5.13.3"
},
"devDependencies": { // 개발 시만 필요한 종속성 목록
"jest": "^27.0.5"
}
}
package.json
파일에서 정의한 패키지 외에도 node_modules
에 들어있는 패키지들의 버전과 의존관계가 상세히 기록됨Package-lock.json
파일을 공유하여 팀원들과 같은 환경으로 개발할 수 있음{
"name": "my-nodejs-project",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
"integrity": "sha512-abcdefg...",
"dependencies": {
"follow-redirects": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz",
"integrity": "sha512-abcdefg..."
}
}
},
"express": {
"version": "4.17.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
"integrity": "sha512-abcdefg...",
"dependencies": {
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
"integrity": "sha512-abcdefg..."
},
// 다른 의존성 패키지들
}
},
// 다른 의존성 패키지들
}
}