본문 바로가기
목차
[TIL]내 머릿속의 코드/조각 지식

[npm] npx, npm, --save, --save-dev ?

by 졸린부엉이 2024. 4. 23.

 

 ◼ npm: Node Package Manager 

Node JavaScript 플랫폼의 패키지 관리자입니다. 노드가 모듈을 찾을 수 있도록 모듈을 제자리에 배치하고 종속성 충돌을 지능적으로 관리합니다. 다운로드 받거나 재 다운로드를 하거나, 모듈의 버전을 기록해야만 다른 개발자간의 협업도 가능할텐데, nodejs에서는 package.json이라는 버전 관리 파일 하나를 기준으로 관리합니다.

 

 

 

 

 

 npx: Node Package Execute 

로컬 또는 원격 npm 패키지에서 명령 실행하고 관리하는 도구인데, 특히 전역으로 설치하지 않고 바로 실행할 수 있게 해줍니다. 일회성으로만 사용되는 패키지를 실행할 때 유용합니다

즉, 모듈을 로컬에 저장하지 않고, 매번 최신 버전의 파일만을 임시로 불러와 실행 시킨 후에, 다시 그 파일은 없어지는 방식으로 모듈이 돌아가고 있습니다.

 

 

 

 --save 

이 옵션을 사용하면 패키지가 현재 프로젝트의 종속성(dependency)으로 설치됩니다. 이 종속성은 프로덕션 빌드 시 필요한 패키지입니다. 예를 들어, npm install express --save를 실행하면 express 패키지가 설치되고 package.json 파일의 dependencies 항목에 추가됩니다.
- 설치한 plugin은 package.json 파일의 dependencies 추가됩니다.

- 빌드시 해당 플러그인이 포함됩니다.

 

 

 

 

 --save-dev 

이 옵션을 사용하면 패키지가 현재 프로젝트의 devDependency으로 설치됩니다. devDependency는 프로덕션 빌드에는 필요하지 않지만, 프로젝트를 개발하고 유지보수할 때 필요한 패키지입니다. 예를 들어, 테스트 프레임워크나 코드 스타일링 도구 등이 여기에 속합니다. npm install jest --save-dev를 실행하면 jest 패키지가 설치되고 package.json 파일의 devDependencies 항목에 추가됩니다.
- 설치한 plugin은 package.json 파일의  devDependencies 추가됩니다.

- 빌드시 해당 플러그인이 포함되지 않습니다.

 

 

 

 

 

 

 

 

 

 

 

[참고]
https://docs.npmjs.com/
https://ithub.tistory.com/165

https://ljh86029926.gitbook.io/coding-apple-react/undefined/npm-npx