composer, npm 의 update 와 install 의 차이
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