사이의 실질적인 차이는 무엇 npm install
과 npm update
? 언제 사용해야합니까?
답변
package.json에 지정된 패키지 버전의 npm 설치 와 npm 업데이트 처리의 차이점 :
{
"name": "my-project",
"version": "1.0", // install update
"dependencies": { // ------------------
"already-installed-versionless-module": "*", // ignores "1.0" -> "1.1"
"already-installed-semver-module": "^1.4.3" // ignores "1.4.3" -> "1.5.2"
"already-installed-versioned-module": "3.4.1" // ignores ignores
"not-yet-installed-versionless-module": "*", // installs installs
"not-yet-installed-semver-module": "^4.2.1" // installs installs
"not-yet-installed-versioned-module": "2.7.8" // installs installs
}
}
요약 : 유일하게 큰 차이점은 이미 퍼지 버전 관리가 설치된 이미 설치된 모듈입니다 …
- 에 의해 무시된다
npm install
- 에 의해 업데이트
npm update
또한 : install
및 update
기본 핸들 devDependencies에 의해 다르게
npm install
플래그를 추가 하지 않으면 devDependencies 를 설치 / 업데이트합니다--production
npm update
플래그를 추가 하지 않으면 devDependencies 를 무시합니다.--dev
왜 npm install
전혀 사용하지 않습니까?
npm install
에서 종속성을 처리하는 것 외에 더 많은 것을 볼 수 있기 때문 입니다 package.json
. npm install 에서 볼 수 있듯이 …
- 노드 모듈 수동 설치
- 전역으로 설정 하십시오 (쉘에 넣습니다
PATH
).npm install -g <name>
- git 태그로 설명 된 특정 버전을 설치하십시오.
- 자식 URL에서 설치
- 와 함께 강제로 다시 설치
--force
답변
npm install 은 package.json
파일 및 해당 종속성 에 나열된 모든 모듈을 설치 합니다 .
npm update 는 node_modules
디렉토리의 모든 패키지 와 해당 종속성을 업데이트 합니다 .
npm install express 는 Express 모듈과 해당 종속 항목 만 설치합니다.
npm update express 는 Express 모듈을 업데이트합니다 (npm@2.x로 시작하여 종속성을 업데이트하지 않음).
따라서 모듈이 이미 있고 새 버전을 얻으려는 경우 업데이트가 제공됩니다.
답변
대부분의 경우 npm에 게시 된 최신 버전의 모듈이 설치됩니다.
npm install express --save
또는 최신 버전 사용으로 모듈을 업그레이드하는 것이 좋습니다.
npm install express@latest --save --force
--save
: 패키지가 종속성에 나타납니다.
추가 정보 : npm-install
답변
많은 차이점이 이미 언급되었습니다. 여기 하나 더 있습니다 :
실행 npm install
소스 디렉토리의 상단에있는 것은 다양한 스크립트를 실행합니다 : prepublish
, preinstall
, install
, postinstall
. 이러한 스크립트의 기능에 npm install
따라 종속성을 설치하는 것보다 훨씬 많은 작업을 수행 할 수 있습니다.
난 그냥 사용 사례 했어 prepublish
부를 것이다을 make
하고는 Makefile
(가) 경우 종속성을 가져 오기 위해 설계되었습니다 package.json
업데이트되었다. npm install
내부에서 호출 Makefile
하면 무한 재귀가 발생하고 호출 npm update
은 정상적으로 작동하고 모든 종속성을 설치하여 make
직접 호출 된 경우에도 빌드를 진행할 수 있습니다.
답변
npm update
: package.json에있는 최신 노드 모듈로 설치 및 업데이트
npm install
: package.json에 정의 된 설치 노드 모듈 (업데이트없이)