* 원문: https://getcomposer.org/doc/03-cli.md
워낙 양이 많아서 나눠서 해볼까 고민하다가 한 페이지인데 나눠서 뭐하나 싶기도 해도 한꺼번에 번역해보았습니다.
명령어 줄에서 도움을 받으려면 모든 명령어 리스트를 보기 위해 간단하게
이 명령어를 실행하면 일부 기본 값을 사용하면서 대화형으로 항목을 기입할 수 있을 것이다.
현재 디렉터리에
만약 여러분이 몇몇 패키지와 일부를 업데이트 하고 싶으면 여러분은 다음와 같이 나열할 수 있다.
만약 대화형으로 요구 사항을 선택하고 싶지 않으면 이 명령어를 통해 통과하면 된다.
이 명령어는 환경 변수
그들의 패키지에 의해 만들어진 제안 결과물을 제한하기 위해
선택적으로 하나 또는 여러개 패키지 이름을 건너뛸 수 있다.
특정 릴리즈를 간단하게 업데이트 하려면 다음과 같이 사용하면 된다.
전체 시스템 (전역 설치 참고) 에 설치된 컴포저가 있다면
(
유효한 설정 옵션을 보려면 설정 장을 참고하라.
여기에 여러가지 애플리케이션이 있다.
컴포저를 사용하는 새 프로젝트를 생성하려면 여러분은 "create-project" 명령어를 사용할 수 있다. 패키지 이름을 전달하고 디렉토리에서 프로젝트를 만들 수 있다. 여러분은 또한 3번째 인자로 버전을 전달할 수 있고 전달하지 않으면 최신 버전이 사용된다.
디렉토리가 현재 존재하지 않으면 설치하는 동안에 생성한다.
기본적으로 명령어는 packagist.org에서 패키지를 확인한다.
추가적으로 성능상의 이유로 클래스 맵으로 PSR-0/4을 변환한 최적화 오토로더를 내려 받을 수 있다. 많은 클래스가 있는 큰 애플리케이션에서 오토로드는 매 요청 시간의 상당한 부분을 차지한다. 개발 할 때 전부 클래스맵을 사용하는 것은 그닥 편리하지는 않지만 이 옵션을 사용하여 편의를 위한 PSR-0/4와 성능을 위한 클래스 맵을 사용할 수 있다.
예를 들어,
환경 변수가 CIDR 표기법으로 작성한 도메인, IP 주소, IP 차단 주소를 승인한다. 여러분은 특정 포트에 제한을 걸 수 있다 (예:
기본적으로 *nix에서
이 파일은 여러분이 사용자 프로젝트의 저장소와 구성을 설정할 수 있도록 해준다.
전역 설정이 로컬 설정이 충돌하는 경우에 프로젝트의
기본적으로 *nix, OSX에서 $COMPOSER_HOME/cache, 윈도우즈에서는
continue reading [번역] 의존성 관리 도구 컴포저 - 명령어 줄 인터페이스 / 명령어
워낙 양이 많아서 나눠서 해볼까 고민하다가 한 페이지인데 나눠서 뭐하나 싶기도 해도 한꺼번에 번역해보았습니다.
명령어 줄 인터페이스 / 명령어
여러분은 이미 명령어 줄 인터페이스를 어떻게 사용하는지 배웠다. 이 장은 사용할 수 있는 명령어를 모은 문서이다.명령어 줄에서 도움을 받으려면 모든 명령어 리스트를 보기 위해 간단하게
composer
나 composer list
를 호출하고 정보를 얻고 싶은 명령어와 --help
를 합쳐서 호출하면 된다.전역 옵션
다음 옵션은 모든 명령어에 사용할 수 있다.- --verbose (-v): 메세지의 자세하게 표시한다.
- --help (-h): 도움말 정보를 표시한다.
- --quiet (-q): 어떤 메세지도 출력하지 않는다.
- --no-interaction (-n): 어떤 대화식 질문도 하지 않는다.
- --working-dir (-d): 지정되면 작업 디렉토리로 지정된 디렉토리를 사용한다.
- --profile: 타이밍과 메모리 사용 정보를 표시한다.
- --ansi: ANSI로 강제 출력한다.
- --no-ansi: ANSI 출력을 비활성화 한다.
- --version (-V): 애플리케이션 버전을 표시한다.
종료 코드 과정
- 0: OK
- 1: 일반/알 수 없는 오류 코드
- 2: 의존성 해결 오류 코드
init
라이브러리 장에서 우리는 수동으로composer.json
를 어떻게 만드는지 살펴보았다. init
명령어는 이러한 절차를 조금 더 쉽게 할 수 있다.이 명령어를 실행하면 일부 기본 값을 사용하면서 대화형으로 항목을 기입할 수 있을 것이다.
php composer.phar init
옵션
- --name: 패키지 이름
- --description: 패키지 설명
- --author: 패키지 제작자 이름
- --homepage: 패키지 홈페이지
- --require: 패키지 버전 제약 조건을 요구한다.
foo/bar:1.0.0
형식이어야 한다. - --require-dev: 개발 요구 사항, --require 참고
- --stability (-s):
minimun-stability
항목 값
install
install
명령어는 현재 디렉터리에서 composer.json
파일을 읽고 종속성을 해결하고 vendor
로 설치한다.php composer.phar install
현재 디렉터리에
composer.lock
파일이 있으면 composer.json
파일을 해결하는 대신 그 파일에서 정확한 버전을 사용할 것이다. 라이브러리를 사용하는 모든 사람은 같은 의존성을 얻는다는 것을 보장한다.composer.lock
파일이 없으면 컴포저는 종속성 작업을 처리한 후에 파일을 생성할 것이다.옵션
- --prefer-source: 패키지를 다운로드하는 방법에는
source
와dist
이렇게 2가지 방법이 있다. 안정 버전의 경우 컴포저는 기본적으로dist
를 사용한다.source
는 버전 관리 저장소이다.--prefer-source
를 사용할 수 있고 존재한다면 컴포저는source
에서 설치할 것이다. 이는 프로젝트에 버그 수정을 하고 직접 종속성의 로컬 git 클론을 얻을 때 유용하다. - --prefer-dist:
--prefer-source
의 반대이다. 컴포저는 가능하면dist
에서 설치한다. 이 명령어는 빌드 서버와 일반적으로 벤더 업데이트를 실행하지 않는 다른 경우에 대체로 설치 속도를 높일 수 있다. 이 옵션은 올바른 설정이 없는 경우 git의 문제를 회피하는 방법이다. - --ignore-platform-reqs:
php
,hhvm
,lib-*
,ext-*
요청을 무시하고 로컬 기기가 이행하지 않아도 강제로 설치한다.platform
설정 옵션을 참고하라. - --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를 클래스 맵으로 변환한다. 특히 실제품에 추천하지만 실행하는데 시간이 더 걸리므로 기본적으로 수행하지 않는다.
update
의존성 최신 버전을 받고composer.lock
파일을 업데이트 하기 위해서 update
명령어를 사용해야 한다.php composer.phar update
이것은 프로젝트에서 모든 의존성을 해결하고 composer.lock
에 정확한 버전을 작성할 것이다.만약 여러분이 몇몇 패키지와 일부를 업데이트 하고 싶으면 여러분은 다음와 같이 나열할 수 있다.
php composer.phar update vendor/package vendor/package2
또한 한번에 패키지를 업데이트하기 위해 와일드 카드 문자(*)를 사용할 수 있다.php composer.phar update vendor/*
옵션
- --prefer-source: 사용할 수 있을 때
source
로 패키지를 설치한다. - --prefer-dist: 사용할 수 있을 때
dist
로 패키지를 설치한다. - --ignore-platform-reqs:
php
,hhvm
,ext-*
요청을 무시하고 로컬 기기가 이행하지 않아도 강제로 설치한다.platform
설정 옵션을 참조하라. - --dry-run: 실제 동작 없이 명령어를 시뮬레이션한다.
- --dev:
require-dev
에서 설치한 패키지를 나열한다 (기본 동작이다). - --no-dev:
require-dev
에서 설치한 패키지를 나열하는 것을 건너 뛴다. 자동 로드 생성은autoload-dev
규칙을 건너뛴다. - --no-autoloader: 자동 로드 생성을 건너뛴다.
- --no-scripts:
composer.json
에서 정의한 스크립트 실행 동작을 건너뛴다. - --no-plugins: 플러그인을 비활성화 한다.
- --no-progress: 백스페이스를 다룰 수 없는 몇몇 터미널이나 스크립트에서 엉망으로 만들 수도 있는 진행바 표시를 제거한다.
- --optimize-autoloader (-o): 빠른 오토로드를 얻기 위해 PSR-0/4를 클래스 맵으로 변환한다. 특히 실제품에 추천하지만 실행하는데 시간이 더 걸리므로 기본적으로 수행하지 않는다.
- --lock: 오래된 잠금 파일에 대해 경고를 숨기기 위해 잠금 파일 해시를 업데이트만 한다.
- --with-dependencies: 허용 목록을 위해 허용된 패키지의 모든 의존성을 추가한다.
- --prefer-stable: 안정적인 의존성 버전을 우선 시 한다.
- --prefer-lowest: 가장 낮은 의존성 버전을 우선 시 한다. 최소 요구를 테스트할 때 유용하고 일반적으로
--prefer-stable
와 같이 사용한다.
require
require
명령어는 현재 디렉터리에서 composer.json
파일에 새 패키지를 추가한다. 파일이 존재하지 않으면 바로 파일을 하나 생성한다.php composer.phar require
추가/변경 요청 후에 수정 요구는 설치되거나 업데이트 될 것이다.만약 대화형으로 요구 사항을 선택하고 싶지 않으면 이 명령어를 통해 통과하면 된다.
php composer.phar require vendor/package:2.* vendor/package2:dev-master
옵션
- --prefer-source: 사용할 수 있을 때
source
로 패키지를 설치한다. - --prefer-dist: 사용할 수 있을 때
dist
로 패키지를 설치한다. - --ignore-platform-reqs:
php
,hhvm
,ext-*
요청을 무시하고 로컬 기기가 이행하지 않아도 강제로 설치한다.platform
설정 옵션을 참조하라. - --dev:
require-dev
로 패키지를 추가한다. - --no-update: 의존성을 자동으로 업데이트 하는 것을 비활성화 한다.
- --no-progress: 백 스페이스 문자를 처리하지 않아서 일부 터미널이나 스크립트를 혼란스럽게 할 진행 표시를 제거한다.
- --update-no-dev:
no-dev
옵션으로 의존성 업데이트를 실행한다. - --update-with-dependencies: 새롭게 패키지를 요구한 의존성을 업데이트한다.
- --sort-packages:
composer.json
에서 패키지가 정렬되는 것을 유지한다.
remove
remove
명령어는 현재 디렉터리의 composer.json
파일에서 패키지를 제거한다.php composer.phar remove vendor/package vendor/package2
요청대로 제거한 후에 수정된 요구 사항은 삭제 된다.옵션
- --ignore-platform-reqs:
php
,hhvm
,ext-*
요청을 무시하고 - 로컬 기기가 이행하지 않아도 강제로 설치한다.
platform
설정 옵션을 참조하라. - --dev:
require-dev
로 패키지를 제거한다. - --no-update: 의존성을 자동으로 업데이트 하는 것을 비활성화 한다.
- --no-progress: 백 스페이스 문자를 처리하지 않아서 일부 터미널이나 스크립트를 혼란스럽게 할 진행 표시를 제거한다.
- --update-no-dev: --no-dev 옵션과 함께 의존성 업데이트를 실행한다.
- --update-with-dependencies: 제거한 패키지의 의존성을 업데이트 한다.
global
전역 명령어는 마치 COMPOSER_HOME 디렉터리에서 실행한 것처럼install
, require
, update
같은 다른 명령어를 실행할 수 있다.이 명령어는 환경 변수
$PATH
에 $COMPOSER_HOME/vendor/bin
를 추가한다면 전역으로 CLI 유틸리티를 설치할 때 사용할 수 있다. 여기에 예제가 있다.php composer.phar global require fabpot/php-cs-fixer:dev-master
이제 php-cs-fixer
바이너리는 (당신이 경로를 조정했다는 가정 하에) 전역으로 사용할 수 있다. 만약 여러분이 나중에 바이너리를 업데이트 하고 싶으면 전역 업데이트를 실행하면 된다.php composer.phar global update
search
검색 명령어는 현재 프로젝트 패키지 저장소를 통해 검색할 수 있다. 보통 이 방법은 패키지스트가 할 것이다. 여러분은 단순히 검색할 조건을 전달한다.php composer.phar search monolog
여러분은 다중 인자를 통해 둘 이상의 용어를 검색할 수 있다.옵션
- --only-name (-N): 이름으로만 검색
show
사용할 수 있는 패키지를 나열하기 위해서show
명령어를 사용할 수 있다.php composer.phar show monolog/monolog
name : monolog/monolog
versions : master-dev, 1.0.2, 1.0.1, 1.0.0, 1.0.0-RC1
type : library
names : monolog/monolog
source : [git] https://github.com/Seldaek/monolog.git 3d4e60d0cbc4b888fe5ad223d77964428b1978da
dist : [zip] https://github.com/Seldaek/monolog/zipball/3d4e60d0cbc4b888fe5ad223d77964428b1978da 3d4e60d0cbc4b888fe5ad223d77964428b1978da
license : MIT
autoload
psr-0
Monolog : src/
requires
php >=5.3.0
옵션
- --installed (-i): 설치된 패키지 목록.
- --platform (-p): 플랫폼 패키지 목록 (php & 확장 기능).
- --self (-s): 루트 패키지 정보 목록
browse / home
browse
(별칭 home
)는 브라우저에서 패키지 저장소 URL이나 홈페이지를 연다.옵션
- --homepage (-H): 저장소 URL 대신 홈페이지를 연다.
suggests
현재 설치된 패키지 세트는 모든 패키지 목록을 제안한다. 여러분은그들의 패키지에 의해 만들어진 제안 결과물을 제한하기 위해
vendor/package
형식에서선택적으로 하나 또는 여러개 패키지 이름을 건너뛸 수 있다.
옵션
- --no-dev:
require-dev
패키지에서 제안을 제외한다. - --verbose: (-v): 증가된 상세 내용은 제안한 패키지 이름과 제안 이유를 추가한다.
depends
depends
명령어는 다른 패키지가 특정 패키지에 의존한다는 것을 말한다. 여러분은 리스트에 포함되어야 하는 링크 유형(require
, require-dev
) 을 지정할 수 있다. 기본적으로 모두 사용된다.php composer.phar depends --link-type=require monolog/monolog
nrk/monolog-fluent
poc/poc
propel/propel
symfony/monolog-bridge
symfony/symfony
옵션
- --link-type : 링크 유형을 여러번 지정할 수 있다.
validate
여러분은composer.json
파일을 실행하기 전에 혹은 태그를 릴리즈하기 전에 항상 validate
를 실행해야 한다. composer.json
가 유효하다면 확인할 것이다.php composer.phar validate
옵션
- --no-check-all:
composer.json
에 있는 요구사항이 언바운드 버전 제약이면 경고 (warning) 를 표시하지 않는다. - --no-check-lock:
composer.lock
파일이 존재하거나 최신 파일이 아니면 에러 (error) 를 표시하지 않는다. - --no-check-publish:
composer.json
파일이 패키지스트에 패키지로 발행하기에 적합하지 않으면 에러 (error)를 표시하지 않지만 그렇지 않으면 유효하다.
status
만약 여러분이 의존성 코드나 설치된 소스를 자주 수정한다면status
명령어는 여러분이 로컬에서 변경되었는지 확인할 수 있다.php composer.phar status
--verbose
옵션를 함께 쓰면 여러분이 변경된 정보에 대해 더 자세히 알 수 있다.php composer.phar status -v
You have changes in the following dependencies:
vendor/seld/jsonlint:
M README.mdown
self-update
컴포저 스스로 최신 버전으로 업데이트하기 위해서 그냥self-update
명령어를 실행하면 된다. 이 명령어는 composer.phar
파일을 최신 버전으로 교체할 것이다.php composer.phar self-update
특정 릴리즈를 간단하게 업데이트 하려면 다음과 같이 사용하면 된다.
php composer.phar self-update 1.0.0-alpha7
전체 시스템 (전역 설치 참고) 에 설치된 컴포저가 있다면
root
권한으로 명령어를 실행할 것이다.sudo composer self-update
옵션
- --rollback (-r): 설치된 마지막 버전으로 롤백한다.
- --clean-backups: 업데이트 하는 동안 오래된 백업을 삭제한다. 업데이트 후에 컴포저의 현재 버전이 사용할 수 있는 백업 하나를 만든다.
config
config
명령어는 여러분이 로컬 composer.json 파일이나 전역 config.json 파일에서 몇몇 컴포저 기본 설정을 수정할 수 있도록 해준다.php composer.phar config --list
사용
config [options] [setting-key] [setting-valu1] ... [setting-valueN]
setting-key
는 설정 옵션 이름이고 setting-value1
은 설정 값이다.(
github-protocols
같이) 배열 값일 경우 허용된 설정 값 인자가 하나 이상이다.유효한 설정 옵션을 보려면 설정 장을 참고하라.
옵션
- --global (-g): 기본으로
$COMPOSER_HOME/config.json
에 위치한 전역 설정 파일을 운영한다.
이 옵션이 없으면 이 명령어는 로컬 composer.json 파일이나--file
로 지정된 파일에 영향을 미친다. - --editor (-e): 환경 변수
EDITOR
가 정의한 텍스트 에디터에서 로컬 composer.json 파일을 사용하여 연다.--global
옵션을 사용하면 전역 설정 파일을 연다. - --unset:
setting-key
가 지은 설정 요소를 제거한다. - --list (-l): 현재 설정 변수 리스트를 보여준다.
--global
옵션을 사용하면 전역 설정만 출력한다. - --file="..." (-f): composer.json 대신에 특정파일을 운영한다.
--global
옵션과 함께 사용할 수 없음을 숙지하자. - --absolute: 상대 경로 대신에 *-dir 설정값을 패치할 때 절대 경로로 반환한다.
수정된 저장소
추가적으로 설정 영역을 수정하려면config
명령어는 다음과 같은 방법을 사용하여 변경 사항을 지원한다.php composer.phar config repositories.foo vcs https://github.com/foo/bar
create-project
여러분은 컴포저로 존재하는 패키지에서 새로운 프로젝트를 생성할 수 있다. 이는 vendor의 "컴포저 설치" 다음에 git 클론이나 svn 체크아웃을 하는 것과 같다.여기에 여러가지 애플리케이션이 있다.
- 여러분은 애플리케이션 패키지를 배치할 수 있다.
- 여러분은 어떤 패키지를 확인하고 예를 들어 패치에서 개발을 시작할 수 있다.
- 여러 개발자가 참여하는 프로젝트는 개발을 위해 초기 애플리케이션을 설정하기 위한 기능을 사용할 수 있다.
컴포저를 사용하는 새 프로젝트를 생성하려면 여러분은 "create-project" 명령어를 사용할 수 있다. 패키지 이름을 전달하고 디렉토리에서 프로젝트를 만들 수 있다. 여러분은 또한 3번째 인자로 버전을 전달할 수 있고 전달하지 않으면 최신 버전이 사용된다.
디렉토리가 현재 존재하지 않으면 설치하는 동안에 생성한다.
php composer.phar create-project doctrine/orm path 2.2.*
프로젝트를 초기 설정하기 위해 기존 composer.json
로 디렉토리에서 파라미터 없이 명령어를 실행할 수도 있다.기본적으로 명령어는 packagist.org에서 패키지를 확인한다.
옵션
- --repository-url: 패키지를 찾기 위해 커스텀 저장소를 제공하고 패키지스트 대신에 사용된다.
composer
저장소를 가리키는 HTTP URL이든 로컬packages.json
파일 경로든 할 수 있다. - --stability (-s): 패키지의 최소 안정성.
stable
가 기본이다. - --prefer-source: 사용 가능할 때
source
로 패키지를 설치한다. - --prefer-dist: 사용 가능할 때
dist
로 패키지를 설치한다. - --dev:
require-dev
에서 설치한 패키지를 나열한다. - --no-install: vendor 설치를 비활성화한다.
- --no-plugins: 플러그인을 비활성화한다.
- --no-scripts: 루트 패키지에서 정의된 스크립트 실행을 비활성화한다.
- --no-progress: 백스페이스를 다룰 수 없는 몇몇 터미널이나 스크립트에서 엉망으로 만들 수도 있는 진행바 표시를 제거한다.
- --keep-vcs: 생성된 프로젝트를 위해 VCS 메타 데이터 제거하는 절차를 건너뛴다. 이 옵션은 인터렉티브하지 않은 환경에서 명령어를 실행한다면 아주 유용하다.
- --ignore-platform-reqs:
php
,hhvm
,lib-*
,ext-*
요구사항을 무시하고
로컬 기기에서 이행하지 않아도 강제로 설치한다.
dump-autoload
예를 들어 만약 여러분이 classmap 패키지에서 새로운 클래스 때문에 오토로드를 업데이트할 필요가 있다면 여러분은 설치나 업데이트를 쓸 필요 없이 "dump-autoload"를 사용하면 된다.추가적으로 성능상의 이유로 클래스 맵으로 PSR-0/4을 변환한 최적화 오토로더를 내려 받을 수 있다. 많은 클래스가 있는 큰 애플리케이션에서 오토로드는 매 요청 시간의 상당한 부분을 차지한다. 개발 할 때 전부 클래스맵을 사용하는 것은 그닥 편리하지는 않지만 이 옵션을 사용하여 편의를 위한 PSR-0/4와 성능을 위한 클래스 맵을 사용할 수 있다.
옵션
- --optimize (-o): 빠른 오토로드를 얻기 위해 PSR-0/4를 클래스 맵으로 변환한다. 특히 실제품에 추천하지만 실행하는데 시간이 더 걸리므로 기본적으로 수행하지 않는다.
- --no-dev: 오토로드 개발용 규칙을 비활성화한다.
clear-cache
컴포터 캐시 디렉토리에 있는 모든 컨텐츠를 제거한다.licenses
설치된 모든 패키지의 이름, 버전, 라이센스 목록을 출력한다.--format=json
을 사용하여 기기가 읽을 수 있도록 결과물을 얻을 수 있다.옵션
- --no-dev: 결과물에서 개발 의존성을 제거한다.
- --format: 결과물 포맷: text나 json (기본값: "text")
run-script
옵션
- --no-dev: 개발 모드를 비활성화
- --list: 사용자가 정의한 스크립트를 나열한다.
diagnose
만일 여러분이 버그나 이상하게 동작하는 부분을 찾았다고 생각하면 여러분은 일반적인 문제에 대해 자동 검사를 수행하기 위해diagnose
명령어를 실행하고 싶을 수도 있다.php composer.phar diagnose
archive
이 명령어는 주어진 버전에서 지정된 패키지를 위해 zip/tar 아카이브를 생성하는데 사용한다. 또한 제외나 무시되는 파일 없이 전체 프로젝트를 보관하는데 사용할 수도 있다.php composer.phar archive vendor/package 2.0.21 --format=zip
옵션
- --format (-f): 결과 아카이브의 포맷: tar, zip (기본값: "tar")
- --dir: 이 디렉토리에 아카이브를 작성 (기본값: ".")
help
어떤 명령어에 대해 더 많은 정보를 얻고 싶으면 그냥help
를 쓰면된다.php composer.phar help install
환경 변수
여러분은 특정 설정을 재정의한 다양한 환경 변수를 설정할 수 있다. 가능하면composer.json
대신 config
영역에서 이 설정을 지정하는 것이 좋다. 환경 변수 composer.json
에서 지정된 값보다 항상 더 우선순위를 가지는 것에 대해 주목할 필요가 있다.COMPOSER
COMPOSER
환경 변수를 설정하여 composer.json
파일이름을 다른 것으로 설정할 수 있다.예를 들어,
COMPOSER=composer-other.json php composer.phar install
이 예제를 실행하면 composer-other.lock
라는 이름으로 잠금파일이 생성될 것이다.COMPOSER_ROOT_VERSION
이 변수를 설정하면 VCS 정보에서 추측할 수 없고composer.json
에서 존재하지 않으면 여러분이 루트 패키지의 버전을 지정할 수 있다.COMPOSER_VENDOR_DIR
이 변수를 설정하면 여러분은vendor
가 아닌 다른 디렉토리로 의존성을 설치할 수 있도록 한다.COMPOSER_BIN_DIR
이 옵션을 설정하면 여러분은vendor/bin
가 아닌 다른 디렉토리로 bin
(Vendor 바이너리) 로 변경할 수 있다.http_proxy나 HTTP_PROXY
만일 HTTP 프록시 뒤에서 컴포저를 사용하는 경우 여러분은 표준http_proxy
나 HTTP_PROXY
환경 변수를 사용할 수 있다. 간단하게 여러분의 프록시 URL를 설정한다. 대다수의 운영 시스템은 이미 여러분을 위해 변수를 설정하고 있다.http_proxy
(소문자) 를 사용하는 것이나 심지어 모두를 정의하는 것은 git이나 curl이 소문자 http_proxy
버전을 사용하는 몇몇 도구들 때문에 바람직할지도 모른다. 그렇게 하지 않으면 여러분은 git config --global http.proxy
를 사용하는 git 프록시를 정의할 수도 있다.no_proxy
만일 프록시를 통하면서 특정 도메인을 해제하려는 경우 여러분은no_proxy
환경 변수를 사용할 수 있다. 간단하게 프록시를 사용하지 않아야 하는 도메인을 쉼표로 구분하여 설정한다.환경 변수가 CIDR 표기법으로 작성한 도메인, IP 주소, IP 차단 주소를 승인한다. 여러분은 특정 포트에 제한을 걸 수 있다 (예:
:80
). 여러분은 *
를 설정하여 모든 HTTP 요청 프록시를 무시할 수도 있다.HTTP_PROXY_REQUEST_FULLURI
만일 프록시를 사용하지만 request_fulluri 플래그를 지원하지 않는다면 여러분은 컴포저에서 request_fulluri 옵션을 설정하는 것을 막기 위해 이 환경 변수를false
나 0
으로 설정해야 한다.HTTPS_PROXY_REQUEST_FULLURI
만일 프록시를 사용하지만 HTTPS를 요청하는 request_fulluri 플래그를 지원하지 않는다면 여러분은 컴포저에서 request_fulluri 옵션을 설정하는 것을 막기 위해 이 환경 변수를false
나 0
으로 설정해야 한다.COMPOSER_HOME
COMPOSER_HOME
변수는 여러분이 컴포터 홈 디렉토리를 변경하도록 해준다. 이는 모든 프로젝트가 공유되는 전역 (시스템 사용자별) 디렉토리이고 숨겨져 있다.기본적으로 *nix에서
/home//.composer
, OSX에서 /Users//.composer
, 윈도우에서 C:\Users\\AppData\Roaming\Composer
를 가리키고 있다.COMPOSER_HOME/config.json
여러분은composer.json
파일을 COMPOSER_HOME
이 가리키고 있는 위치에 놓을 수 있다. 컴포저는 여러분이 install
이나 update
명령어를 실행하면 이 설정과 여러분의 프로젝트 composer.json
를 병합할 것이다.이 파일은 여러분이 사용자 프로젝트의 저장소와 구성을 설정할 수 있도록 해준다.
전역 설정이 로컬 설정이 충돌하는 경우에 프로젝트의
composer.json
에 있는 로컬 설정이 항상 이긴다.COMPOSER_CACHE_DIR
COMPOSER_CACHE_DIR
변수는 여러분이 컴포저 캐시 디렉토리를 변경할수 있도록 해주며 cache-dir
옵션을 통해 설정할 수도 있다.기본적으로 *nix, OSX에서 $COMPOSER_HOME/cache, 윈도우즈에서는
C:\Users\<user>\AppData\Local\Composer
또는 %LOCALAPPDATA%/Composer
를 가리키고 있다.COMPOSER_PROCESS_TIMEOUT
이 환경 변수는 명령어 (git 명령어 같은) 실행을 완수하기 위한 컴포저 대기시간을 조정한다. 기본값은 300초이다 (5분).COMPOSER_DISCARD_CHANGES
이 환경 변수는discard-changes
설정 옵션을 조정한다.COMPOSER_NO_INTERACTION
1로 설정되어 있으면 이 환경 변수는 컴포저가 모든 명령어에--no-interation
를 전달하는 것처럼 동작할 것이다. 이것은 boxes/CI 빌드에서 설정할 수 있다.