답변:
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 installnpm update또한 : install및 update기본 핸들 devDependencies에 의해 다르게
npm install플래그를 추가 하지 않으면 devDependencies 를 설치 / 업데이트합니다--productionnpm update플래그를 추가 하지 않으면 devDependencies 를 무시합니다.--dev왜 npm install전혀 사용하지 않습니까?
npm install에서 종속성을 처리하는 것 외에 더 많은 것을 볼 수 있기 때문 입니다 package.json. npm install 에서 볼 수 있듯이 ...
PATH).npm install -g <name>--forcenpm install --save somePackage*를 의존성에 저장할 수 있습니까?
postinstall설치시 실행되지만 업데이트에는 실행되지 않는 것과 같은 스크립트가 있습니다.
install와 update다르게에 지정 등 자식의 URL, 자식 태그에 대한 작업 package.json다음은 예제에 이러한 경우를 추가하는 좋은 것입니다.
1.3.0 -> 1.3.1이 유사하다 ^1.3.0곳, ^즉, 업데이트 주요 버전 1.3.0 -> 1.4.0.
npm install 은 package.json파일 및 해당 종속성 에 나열된 모든 모듈을 설치 합니다 .
npm update 는 node_modules디렉토리의 모든 패키지 와 해당 종속성을 업데이트 합니다 .
npm install express 는 Express 모듈과 해당 종속 항목 만 설치합니다.
npm update express 는 Express 모듈을 업데이트합니다 (npm@2.x로 시작하여 종속성을 업데이트하지 않음).
따라서 모듈이 이미 있고 새 버전을 얻으려는 경우 업데이트가 제공됩니다.
npm install나 npm update? 즉, 나는 지금 사용 npm install하고 있으며 업데이트도하는 것처럼 보입니다. 왜 내가 사용해야하는 이유가 npm update있습니까?
updatepackage.json에 관계없이 항상 최신 버전으로 업데이트되며 package.json에 install제공된 버전을 존중합니까?
update최신 버전의 모듈을 설치 (또는 업데이트)합니다. install표시되지 않은 경우 최신 버전의 모듈을 설치합니다. 그렇지 않으면 현재 버전을 유지합니다.
npm update은 package.json에 상관없이 최신 버전으로 업데이트합니다. "express": "3.x"가 있고 버전 3.1.0 인 경우 최신 3.x 태그로 업데이트됩니다. 4.x 버전이 있으면 최신 버전이 설치되지 않습니다.
대부분의 경우 npm에 게시 된 최신 버전의 모듈이 설치됩니다.
npm install express --save
또는 최신 버전 사용으로 모듈을 업그레이드하는 것이 좋습니다.
npm install express@latest --save --force
--save: 패키지가 종속성에 나타납니다.
추가 정보 : npm-install
npm install express@latest --save --force내가 원하는 바로 그 것이었다.
많은 차이점이 이미 언급되었습니다. 여기 하나 더 있습니다 :
실행 npm install소스 디렉토리의 상단에있는 것은 다양한 스크립트를 실행합니다 : prepublish, preinstall, install, postinstall. 이러한 스크립트의 기능에 npm install따라 종속성을 설치하는 것보다 훨씬 많은 작업을 수행 할 수 있습니다.
난 그냥 사용 사례 했어 prepublish부를 것이다을 make하고는 Makefile(가) 경우 종속성을 가져 오기 위해 설계되었습니다 package.json업데이트되었다. npm install내부에서 호출 Makefile하면 무한 재귀가 발생하고 호출 npm update은 정상적으로 작동하고 모든 종속성을 설치하여 make직접 호출 된 경우에도 빌드를 진행할 수 있습니다.
redis모듈 및 other_module이전 버전의 필요 redis, npm install other_module즉 보장합니다 other_module이전 버전을 사용합니다. other_module/node_modules/redis필요한 경우 추가 할 수 있습니다 .
~1.3어때요?