다음 중 하나를 사용하여 패키지를 설치하는 방법을 확인합니다.
npm install <package_name>
또는
npm install <package_name> --save
또는
npm install <package_name> --save-dev
이 옵션의 차이점은 무엇입니까?
답변:
npm install <package_name> --save
패키지를 설치하고 package.json의 종속성을 업데이트합니다. 이 질문을 받았기 때문에 npm이 변경되어 --save
기본 옵션이되었으므로 --save
종속성을 업데이트하는 데 사용할 필요가 없습니다 .
npm install <package_name> --no_save
패키지를 설치하지만 package.json에 나열된 종속성을 업데이트하지는 않습니다.
npm install <package_name> ---save-dev
devDependencies
패키지 에서을 업데이트합니다 . 이들은 로컬 테스트 및 개발에만 사용됩니다.
https://docs.npmjs.com/getting-started/using-a-package.json 에서 자세한 내용을 읽을 수 있습니다 .
npm install은 기본 package.json에서 패키지 버전을 저장하거나 업데이트하는 3 개의 독점적 인 선택적 플래그를 사용합니다.
-S, --save
: 패키지가 종속성에 나타납니다.
-D, --save-dev
: 패키지가 devDependencies에 나타납니다.
-O, --save-optional
: optionalDependencies에 패키지가 나타납니다.
위의 옵션 중 하나를 사용하여 package.json에 대한 종속성을 저장할 때 추가 옵션 플래그가 있습니다.
-E, --save-exact
: 저장된 종속성은 npm의 기본 semver 범위 연산자를 사용하는 대신 정확한 버전으로 구성됩니다. 또한 npm-shrinkwrap.json이있는 경우에도 업데이트됩니다.
<scope>
선택 사항입니다. 패키지는 지정된 범위와 관련된 레지스트리에서 다운로드됩니다. 지정된 범위와 관련된 레지스트리가 없으면 기본 레지스트리로 간주됩니다. npm-scope를 참조하십시오.
참고 : 범위 이름에 @-기호를 포함하지 않으면 npm이 대신이를 GitHub 저장소로 해석합니다 (아래 참조). 범위 이름 뒤에는 슬래시가 와야합니다.
예 :
npm install sax --save
npm install githubname/reponame
npm install @myorg/privatepackage
npm install node-tap --save-dev
npm install dtrace-provider --save-optional
npm install readable-stream --save --save-exact
참고 : <name>
현재 작업 디렉토리에 이름이 지정된 파일이나 폴더가 있으면이 를 설치하고 유효하지 않은 경우에만 이름으로 패키지를 가져 오려고 시도합니다.
(공식 문서에서) https://docs.npmjs.com/cli/install
--save
옵션은 여전히 작업에 나타납니다, 더 이상 필요하지 않습니다 - 패키지가 지금 의존성에 저장됩니다 기본적으로 . 이제 논리가 반전되었습니다. 패키지를 저장 하지 않으 려면 다음을 지정해야합니다.--no-save
--save
플래그는 더 이상 가치가 없다.
이전에는 다른 답변에서 언급했듯이 --save
플래그가 프로젝트 package.json
파일 의 종속성을 업데이트 했지만 npm install
이제는 기본적으로이 기능을 포함합니다.
이 시점 npm install
에서 종속성 저장 을 방지 하려면 --no-save
플래그 를 사용해야합니다 .
그들의 의견에 이것을 언급 한 Coruscate5에게 감사드립니다 .
npm-install 문서 의 추가 정보 :
npm install은 기본적으로 지정된 패키지를 종속성에 저장합니다. 또한 몇 가지 추가 플래그를 사용하여 저장 위치와 방법을 제어 할 수 있습니다.
-P, --save-prod : 패키지가 종속성에 나타납니다. -D 또는 -O가 없으면 이것이 기본값입니다.
-D, --save-dev : 패키지가 devDependencies에 나타납니다.
-O, --save-optional : 패키지가 optionalDependencies에 나타납니다.
--no-save : 종속성 저장을 방지합니다.
위의 옵션 중 하나를 사용하여 package.json에 대한 종속성을 저장할 때 두 개의 추가 선택적 플래그가 있습니다.
-E, --save-exact : 저장된 종속성은 npm의 기본 semver 범위 연산자를 사용하는 대신 정확한 버전으로 구성됩니다.
-B, --save-bundle : 저장된 종속성도 bundleDependencies 목록에 추가됩니다.