어느정도 PHP를 사용한 사람들이라면 Composer를 누구나 한번쯤은 사용해보았을 것입니다. 아니, 요즘에는 거의 표준화처럼 자리를 잡게 되었죠.

Composer

근데 의외로 Composer가 Global설치를 지원하는지 모르는 분들이 제법 많습니다. 예, 사실 제가 그랬습니다.

Global설치가 무엇인고 하니, bin을 지원하는 패키지를 위한 것입니다. 예를 들자면 PHP에서 개발용으로 제작된 여러 도구들이 있는데, 이를테면 phpunit, phing, phpdocumentor 등이 있습니다.

공통점은 대부분 프로젝트에 사용된다는 점이 있습니다. 그리고 프로젝트 배포할때 웹에서 사용되지도 않을 저녀석들을 위해 어마어마하게 많은 용량과 시간을 할당해야하지요..

그럼 바로 시작해보겠습니다.

사용법

사용환경은 OSX 10.9를 기준으로 설명하였는데, 조금만 응용하면 다른 OS에서도 사용하실 수 있을 것 같습니다.

사용법은 너무나도 간단합니다. global키워드를 달고 아무거나 한번만 하면 됩니다. 여기서는 PHPUnit을 설치하도록 하겠습니다.

$ composer global require phpunit/phpunit

끝.

이렇게 만들고 나면 home디렉토리 아래에 .composer라는 폴더가 생성되고 그 아래에 패키지가 생성이 됩니다.

그리고 그 안에 내부 파일 구조는 일반 프로젝트 패키지와 동일합니다.

만약 디테일하게 조절하고 싶으시면 composer.json파일을 고쳐서 사용하시면 될것입니다. 그리고 저의 경우는 다음과 같이 구성해서 사용하고 있습니다.

$ composer update

실행하시면 똑같이 실행됩니다. :)

그리고 ~/.composer/vendor/bin폴더를 열어보시면 다음과 같이 bin파일들이 추가되어있는 것을 볼 수 있습니다.

그리고 이제 저 프로그램들을 어디에서도 실행 할 수 있도록 $PATH에 추가하는 작업이 필요합니다. 방법도 간단합니다. 다음 두줄의 소스를 .bash_profile에 추가해주시면 됩니다.

리눅스의 경우는 .bashrc에 추가해주면 되고, 그외 다른 OS의 경우는 잘 모르겠습니다.

export PATH="~/.composer/vendor/bin:$PATH"
export PATH="~/.composer/bin:$PATH"

이 이후에는 쉘을 다시 실행하시면 됩니다. 이제 테스트해봅시다.

탭을 눌렀을때 자동완성은 기본입니다. :)

참고자료