Composer에는 개발 중에 만 여러 종속성을로드 할 수있는 옵션이 있으므로 프로덕션 환경 (라이브 서버)에 도구가 설치되지 않습니다. 이것은 이론적으로 테스트, 가짜 데이터 도구, 디버거 등과 같이 개발에만 의미가있는 스크립트에 매우 유용합니다.
가는 방법 require-dev
은 개발자가 필요로하는 도구 로 추가 블록 을 추가하는 것입니다 .
"require-dev": {
"codeception/codeception": "1.6.0.3"
}
그런 다음 이론적으로 이러한 종속성을로드합니다.
composer install --dev
문제 및 질문 :
작곡가의 동작을 변경 install
하고 update
극적으로 2013 년, require-dev
-dependencies가 기본으로 설치되어있다 (!)에있어서 A composer.json 만들어 주시기 require-dev
블록과 수행 composer install
재현.
가장 널리 배포되는 방법은 작곡가를 밀어내는 것입니다. (현재 작곡가 설정을 보유한) lock을 만든 다음 composer install
프로덕션 서버에서 작업 을 수행 하면 개발 항목도 설치됩니다.
-dev 의존성 을 설치 하지 않고 이것을 배포하는 올바른 방법은 무엇입니까 ?
참고 : 이상한 Composer 배포를 명확히하기 위해 여기에 표준 Q / A를 만들려고합니다. 이 질문을 자유롭게 편집하십시오.
composer.lock
, 망할 놈의 repo에 결코 추가해서는 안됩니다. 올바른 접근 방식은 스테이징에서 composer 업데이트를 사용한 다음 파일을 프로덕션에 동기화하는 것입니다 (물론 모든 것이 작동하는 경우). 스테이징은 프로덕션 환경의 정확한 사본이어야합니다. composer.lock
의 일부 여야합니다 .gitignore
.