install 명령어는 현재 디렉토리에 있는 composer.json 파일을 읽고, 의존성을 해석하여, vendor에 패키지들을 설치합니다.
instal l명령어는 이 잠금파일이 디렉토리에 존재하는지 확인하고 만약 그렇다면 (composer.json에 관계없이) 잠금설정된 버전의 패키지들을 다운받습니다.
주의: 컴포저는 composer.lock 파일과 composer.json 파일의 정보가 동기화 되어 있지 않다면 install명령어 수행시 경고를 표시합니다.
옵션
- -–prefer-source: 패키지를 다운로드 하는 데에는 source와 dist 두가지 방법이 존재합니다. 안정화 버전에서는 dist가 기본값으로 쓰일것입니다. source는 버전 관리 저장소를 의미합니다. 만약 --prefer-source옵션을 사용하면, 컴포저는 source로 부터 설치를 하는데, 이러한 경우는 프로젝트에 버그를 수정하려 할때와 의존 패키지의 로컬 git에 복제하는데에 유용합니다.
- -–prefer-dist: --prefer-source와 반대로, 가능하다면 컴포저는 dist로부터 설치를 합니다. 이 방법은 일반적으로 벤더를 업데이트 하지 않는 케이스와 빌드 서버로 부터 설치를 진행하는 형태로 설치 속도를 빠르게 해줄 수 있습니다. 또한 적절하게 셋업되지 않은 경우에 발생할 수 있는 git과 관련된 문제를 피하는 방법이기도 합니다.
- -–ignore-platform-reqs: php, hhvm, lib- 와 ext-등의 요구사항을 무시하고 로컬 머신이 이 조건을 만족하지 못한다고 하더라도 설치를 강행합니다.
- -–dry-run: 만약 실제로 패키지들을 설치 하지 않고 빠르게 설치과정만을 살펴보길 원한다면, --dry-run을 사용할 수 있습니다. 이것은 설치를 시뮬레이션 해보고 어떤일이 발생하는지 보여줍니다.
- -–dev: require-dev에 있는 패키지들을 설치합니다 (기본설정된 행동입니다).
- –-no-dev: require-dev에 있는 패키지들을 설치하지 않고 스킵합니다.
- -–no-autoloader: 오토로더를 생성하지 않고 넘어갑니다.
- –-no-scripts: composer.json에 정의된 스크립트를 실행하지 않고 넘어갑니다.
- –-no-plugins: 플러그인들을 사용하지 않습니다.
- –-no-progress: 몇몇 터미널이나 백스페이스문자()가 처리되지 않는 스크립트들에서 화면이 지저분 해질 수 있는 진행 화면 표시기능을 제거합니다.
- –-optimize-autoloader (-o): PSR-0/4 오토로딩을 클래스맵으로 전환시켜서 오토로더를 더 빠르게 합니다. 특히 프로덕션에 추천되지만, 시간이 조금 걸릴 수 있어서 현재는 기본설정에서는 빠져있습니다.