npm, composer 둘다

install은 lock 파일을 참고해서 설치된 버전을 유지

update는 (package.json등에) 설정된 버전으로 업데이트(lock 파일 무시)

 

 

//-----------------------------------------------------------------------------
[ composer update 와 composer install 의 차이 ]

< composer update >
composer.json을 읽고, 종속성이 허락하는 최신 버전으로 업데이트
    - 개발 단계에서 사용


< composer install >
composer.lock 파일이 있는 경우
composer.lock에 있는 패키지 버전을 설치
     - 여러 운영서버의 패키지 버전을 동일하게 설정할 수 있음


* composer.lock 파일이 없는 경우 
composer update와 동일하게 동작

//-------------------------------------
* composer.lock 파일 기능
     - composer update 나 composer install 명령 실행시 설치된 패키지 버전을 기록

//-------------------------------------
* 현재 설치된 composer 패키지 버전을 확인하는 방법
composer show <package-name>

* 패키지 버전을 지정해서 설치
composer require monolog/monolog:^1.25

monolog/monolog:1.25.3  - 지정한 정확한 버전
monolog/monolog:^1.25.3  - v1.x (v2 미만)
monolog/monolog:~1.25.3  - v1.25.x (v1.26 미만)


//-------------------------------------
참고
https://stackoverflow.com/questions/33052195/what-are-the-differences-between-composer-update-and-composer-install


//-----------------------------------------------------------------------------
[ npm install 과 npm update 의 차이 ]

< npm install >

package-lock.json 에 설정된 버전이 우선, 
     - 운영단계에서 사용하기 적당

* 패키지 버전을 지정하지 않은 경우
     - package-lock.json 에 설정된 버전을 설치, 정보가 없으면 최신 버전을 설치
예) npm install axios
     - package.json 에 패키지 정보가 없으면 추가
     --save (-S) : 는 dependencies 항목에 추가됨, 기본값
     --save-dev (-D) : 는 devDependencies 항목에 추가됨


* 패키지 버전을 지정한 경우
예) npm install axios@0.26 --save-dev
     - 버전을 지정하면 package.json 의 패키지 버전을 지정 버전으로 변경

* 패키지 새로 설치시 사용, 기능이 많고 일반적인 경우 사용

* 운영단계(--production 이나 NODE_ENV 환경 변수가 production)가 아닌 경우 :
devDependencies 를 설치 업데이트 


//-------------------------------------
< npm update >

package.json 에 설정된 버전이 우선
     - package.json 에 설정된 시맨틱버전의 범위에서 최신 버전으로 업데이트
     (업데이트 후 package-lock.json 변경)
     - 개발 단계에서 사용하기 적당


* 패키지 버전을 지정하지 않은 경우
예) npm update axios
     - package.json 에 설정된 버전 설치
     - package.json 에 패키지 정보가 없으면 파일 수정(패키지 정보 추가)


* 명령어로 패키지 버전을 지정할 수 없다
예) npm update axios@0.26  ==> 에러 발생



//-------------------------------------
* 설치된 패키지 버전 확인
> npm list 패키지


//-------------------------------------
참고
https://stackoverflow.com/questions/12478679/npm-install-vs-update-whats-the-difference

https://docs.npmjs.com/cli/v8/commands/npm-install


반응형
Posted by codens