Programing

`npm install --save`가 package.json에 엄격한 버전을 추가하도록합니다.

lottogame 2020. 11. 28. 08:33
반응형

`npm install --save`가 package.json에 엄격한 버전을 추가하도록합니다.


을 실행 npm install --save somepackage하면 일반적으로 다음과 같은 내용을 package.json에 추가합니다.

"dependencies": {
    "somepackage": "^2.1.0"
}

버전 앞에 캐럿 (^)이 npm install붙기 때문에 나중에를 실행하면 버전 2.3.0을 대신 설치할 수 있습니다. 이것은 상당히 명백한 이유로 바람직하지 않을 수 있습니다. npm shrinkwrap유용하지만 실제로 문제를 해결하지는 못합니다.

그래서 몇 가지 질문이 있습니다.

  1. 패키지를 설치할 때 package.json에서 특정 버전으로 설정하도록 지정할 수 있습니까 (버전 번호 앞에 캐럿 없음)?
  2. npm에 패키지를 게시 할 때 다른 개발자가 패키지를 설치할 때 버전 이전에 캐럿을 포함하는 기본값을 방지 할 수있는 방법이 있습니까?

기본적으로 정확한 버전을 지정하려면 save-exact로 npm 구성을 변경할 수 있습니다 .

npm config set save-exact true

save-prefix 와 함께 물결표를 사용하여 접두사 버전을 지정할 수도 있습니다.

그리고 사용자가 마이너 또는 패치 버전으로 업데이트하도록 강요 할 수 없습니다. NPM은 semver를 사용 하며 패키지 게시에 권장되는 방법입니다.


--save-exact 옵션을 사용하여 기본 동작을 변경할 수 있습니다.

// npm
npm install --save --save-exact react

// yarn
yarn add --exact react

앞으로 누군가가 이것을 찾고 있다면 이것에 대한 블로그 게시물을 만들었습니다.

https://www.dalejefferson.com/blog/how-to-save-exact-npm-package-versions/


운영:

npm install --save --save-exact my-module@my-specific-version

이 조언을 더 쉽게 볼 수 있도록 답변을 추가합니다 .

참고 URL : https://stackoverflow.com/questions/30656189/make-npm-install-save-add-a-strict-version-to-package-json

반응형