npm은 node package manager 라는 말 그대로 패키지 관리자이다. 사용하려면 Node.js를 설치해야합니다.
npm install
을 실행함으로써 package.json
파일에 의존성들(packages)을 지정할 수 있다는 걸 말합니다.
local/global
로 나뉨package.json
에 정의되어 있음 ex) npm install bcrypt 하면 dependencies에 추가 됨 "dependencies": {
"bcrypt": "^5.0.1",
"body-parser": "^1.19.0",
"cookie-parser": "^1.4.5",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.8.5"
},
npm run start
or 배포 시킬 때 빌드 시 npm run build
모듈이 업데이트 되었는지 안되었는지 확인이 불가능 합니다.
모든 프로젝트마다 모듈을 재설치 하는것이 아닌, 한 번 설치한 모듈을 그대로 사용하기 때문에 프로그래머가 의식해서 글로벌 모듈을 최신 버전으로 재 설치하지 않으면 확인 자체가 불가능 합니다.이게 장점이 될수도 있지만 단점이 될 수 도 있습니다.
업데이트를 진행했을 때 변동사항이 생겨 다른 프로젝트에도 영향을 끼칠 수 있습니다.
프로젝트를 3개를 운영하는데, 같은 모듈의 각각 다른 버전이 필요한 상황이 있을 수 있습니다. 이럴 때 글로벌 모듈의 버전은 당연히 한 개이기 때문에 문제가 발생하게 됩니다.
create-react-app 같은 보일러플레이트에는 치명적입니다.
리액트 프로젝트 생성 도구인 create-react-app 같은 모듈의 경우, 변경사항이 꽤나 잦은 모듈입니다. 그렇기 때문에 매 설치 전마다 npm으로 재 설치를 하지 않는 경우에는 이전 버전을 사용할 여지가 꽤 있습니다.
이런 프로젝트 생성 모듈은 매 업데이트마다 새로운 기능과 다양한 버그들이 고쳐집니다. 그리고 이런 보일러플레이트 같은 경우에는, 항상 최신 버전을 유지해 주는 것이 좋은데, 매번 설치하는 것이 꽤나 귀찮은 일입니다.
npm5.2버전부터 깔려있는데, execute npm package binaries의 줄임말로,
node 패키지를 실행시키는 하나의 도구이다.
https://ljh86029926.gitbook.io/coding-apple-react/undefined/npm-npx#.-2