소개


컴포저(Composer)는 PHP의 의존성관리 툴이다. 이는 프로젝트가 의존하는 라이브러리를 선언할 수 있게 해주고 또 이들을 관리(설치/업데이트)해준다.



의존성관리(Dependency management)

컴포저는 Yum, 혹은 Apt같은 패키지매니저가 아니다. 패키지 혹은 라이브러리를 다루지만  컴포저는 이들을 프로젝트 베이스로 관리(프로젝트 내부의 디렉토리(예:vendor)에 설치하는)를 할 뿐이다. 디폴트로 컴포저는 어떠한 것도 전역적으로(글로벌하게, globally) 설치하지 않는다. 즉, 컴포저는 의존성매니저(관리자)이다. 그러나, 컴포저는 글로벌 커맨드(global command)를 통해서 편의상 "글로벌" 프로젝트를 지원한다. 


이런 아이디어는 새로운 것은 아니며 컴포저는 노드의 npm(node's npm)과 루비의 번들러(ruby's bundler)로부터 많은 영감을 얻었다.


가정:

  1. 당신은 많은 라이브러리에 의존하는 프로젝트를 가지고 있다.
  2. 이들 라이브러리 중 일부는 다른 라이브러리에 의존한다.

컴포저:

  1. 당신이 의존하는 라이브러리를 선언하게 한다.
  2. 어떤 패키지의 어떤 버전이 필요한지를 찾고 이를 설치한다(당신의 프로젝트에 다운로드 한다는 의미임).



시스템요건(System Requirements)

컴포저를 사용하려면 PHP 5.3.2+가 필요하다. 또, 약간의 민감한 PHP 세팅과 컴파일플래그(compile flags)도 필요하다. 그러나 인스톨러(installer)를 사용하면 비호환성(incompatibilities)에대한 경고멧세지를 받을 것이다. 

심플 짚 아카이브(simple zip archives) 대신에 소스(sources)로부터 패키지를 설치하려면 패키지가 어떻게 버전콘트롤(version-controlled)되는지에따라 git, svn 혹은 hg이 필요할 것이다. 

컴포저는 멀티플랫폼(multi-platform)이며 우리는Windows, Linux, OSX에서  똑같이 작동되도록 노력하고있다.



설치- Linux / Unix / OSX

실행가능한 컴포저 다운로드

컴포저는 당신이 커맨드라인(commandline)으로부터 직접적으로 실행할 수 있는 편리한 인스톨러(installer)를 제공한다.  download this file 을 다운로드하거나 혹은 당신이 인스톨러의 내부작동을 더 알고싶다면  GitHub 에서 알아보라. 소스는 PHP이다.

요약하면, 컴포저를 설치하는데는 2가지 방법이있다. 지역적(로컬리, Locally)으로 프로젝트의 일부분으로써, 글로벌(전역적으로,globally)하게는 시스템전체적인 실행으로(as a system wide executable.)

Locally

컴포저를 지역적으로 설치하는 것은  프로젝트 디렉토리에서 인스톨러를 작동시키는 문제이다.  the Download page 를 참고하라.

인스톨러는 몇가지 PHP 세팅사항을 확인하고 composer.phar 를 작업 디렉토리에 다운로드한다. 이 파일은 컴포저 바이너리(Composer binary)이다. 즉, PHAR (PHP 아카이브), 커맨드라인에서 실행될 수있는 PHP를 위한 아카이브포멧(archive format)이다. 

이제 컴포저를 작동시키기위해 php composer.phar 를 실행하라.

--install-dir 옵션을 사용하여 특정의 디렉토리에 컴포저를 설치할 수있고 --filename 옵션을 사용하여 이를 네임/리네임((re)name) 할 수 있다. 인스톨러를 사용할 때는,  the Download page instructions 을 따를 때 다음의 매개변수(parameters)를 추가하라:

php composer-setup.php --install-dir=bin --filename=composer

이제 컴포저를 사용하기위해 php bin/composer 을 실행하라.


Globally

Composer PHAR 는 원하는 어느 곳에도 위치시킬 수있다. 당신의 PATH, 의 일부분인 디렉토리에 놓았다면  당신은 이에 전역적으로(글로벌리, globally) 접근할 수있다. 심지어 UNIX계열 시스템이서는 

php 인터프리터(interpreter)의 사용없이도 이를 실행가능하게(make it executable)하고 호출(invoke) 할 수 있다 .

인스톨로를 작동시키고 난 다음에  the Download page instructions 를 보라. composer.phar를 당신의 path에 있는 디렉토리에 옮기기위해 이를 실행할 수 있다:

mv composer.phar /usr/local/bin/composer

주의: 퍼미션때문에 위의 파일이 실패한다면 sudo와 함께 다시 실행해보라.

주의: OSX 의 몇몇 버전은 디폴트로 /usr 디렉토리가 존재하지 않는다. 만일 "/usr/local/bin/composer: No such file or directory" 에러를 받으면 먼저 디렉토리를 수작업으로 생성하고 진행하라: mkdir -p /usr/local/bin.

주의: PATH를 변경하는 정보는 ,  Wikipedia article 를 읽고 구글을 이용하라


이제 php composer.phar대신에  composer 을 사용해서  컴포저를 실행해보라.


설치 - Windows

인스톨러 사용

이것은 당신의 머신(machine)에 컴포저를 셋업하는 가장 쉬운 방법이다.

Composer-Setup.exe. 을 다운로드해서 실행하라. 컴포저의 최신버전을 설치하고 PATH 을 셋업하기때문에 당신은 모든 디렉토리에서 커맨드라인으로  composer 를 호출할수있다.


주의: 현재의 터미널(terminal)을 닫아라. 새로운 터미널로 사용법을 테스트하라. 이는 중요하다. 왜냐하면 PATH는 터미널이 시작할 때만 로딩되기때문이다.

수동설치

당신의 PATH 에 있는  디렉토리로 변경 ->  the Download page instructions 을 따라 인스톨러를 실행하여 composer.phar를 다운로드한다.

composer.phar옆에 새로운 composer.bat 파일을 만든다.

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

 아직 추가되지 않았다면 PATH 환경변수에 디렉토리를 추가.  PATH 변수를 변경하는 것에대한 정보는 this article 보거나 Google을 이용하라.

현재의 터미널을 닫고  새로운 터미널로 사용법을 테스트하라:

C:\Users\username>composer -V
Composer version 1.0.0 2016-01-10 20:34:53


컴포저 사용하기

이제 컴포저를 설치하였다. 사용할 준비가 되었다. 다음 글에서 사용법이 이어진다



원문 : https://getcomposer.org/doc/00-intro.md


+ Recent posts