소개


컴포저(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


5단계: 풀리퀘스트를 합치기(Merge your Pull Request)

마지막 단계이다. 당신의 수정내용을 모두 합할 것이다 - readme-edits 브랜치를 마스터 브랜치에 합친다.


 - 녹색의 Merge pull request 버튼을 클릭.

 - Confirm merge 버튼 클릭.

 - 수정된 것이 합쳐졌으므로  readme-edits 브랜치를 삭제한다. 브랜치 삭제버튼은 보라색 박스의  Delete branch 버튼.



축하한다!

이 튜토리얼을 통해서 당신은  깃허브에서 프로젝트를 만들고 풀리케스트를 하는 법을 배웠다.

깃허브 프로필(GitHub profile)로 가보라. 새로운 컨트리뷰션 스퀘어(contribution squares)를 볼 수 있을 것이다.

풀리퀘스트에 대해서 다 알고싶다면 GitHub Flow Guide를 참고하라. GitHub Explore를 방문해서 오픈소스 프로젝트에 참여할 수도 있다.

팁: 다른 가이드들도 둘러보고 유튜브채널도 방문하기를 권한다.



source: https://guides.github.com/activities/hello-world/#commit

4단계: 풀 리퀘스트 열기(Open a Pull Request)

자 이제 마스터에서 분리된 브랜치에서 수정된 내용을 갖고있어서 풀 리퀘스트를 오픈할 수 있다.

풀리퀘스트(Pull Request)는 깃허브(GitHub)에서 협업(collaboration)의 핵심이다. 풀리퀘스트를 오픈한다는 것은 당신이 수정한 것을 누군가가 리뷰하기를 요구하며 또 당신의 것을 그들의 브랜치에 합치기(merge)를 제안한다는 것이다. 풀리퀘스트는 양쪽 브랜치의 콘텐츠의 서로 다른 점을 보여준다. 수정내용, 추가된부분, 삭제된 부분을 녹색과 빨간색으로 보여준다.

커밋을 하면 풀리퀘스트를 오픈할 수 있고 심지어 코딩이 끝나기도 전에  토론을 시작할 수 있다.

풀리퀘스트 멧세지에있는 깃허브의 @mention system을 사용하여 특정한 사람이나 팀으로부터 피드백을 요구할 수도 있다. 

심지어 당신은 당신 자신의 저장소(repository)에서 풀리퀘스트를 오픈할 수 있고  이를 당신 자신에게 합칠 수도 있다. 이는 보다 규모있는 프로젝트를 수행하기 전에 깃허브 흐름(GitHub Flow)을 이해하는데 큰 도움이 된다.


README에 수정을 위한 풀 리퀘스트 열기(Open a Pull Request for changes to the README)

 * 스탭 1: 
  풀리퀘스트 탭을 클릭하고 풀리퀘스트 페이지에서 녹색의 New pull request 버튼을 클릭.



 

 * 스탭 2: 
  마스터와 비교하기위해 당신의 브랜치 readme-edits 를 선택.





 * 스탭 3:
    비교 페이지의 diffs에서 당신이 수정한 것을 확인



 

* 스탭 4:
    수정한 것이 커밋하는데 이상이 없다면 녹색의 큰 버튼 Create Pull Request 을 클릭




 * 스탭 5:
 당신의 풀리퀘스트에 제목과 당신의 수정사항에대한 간단한 설명을 작성.


 

다되었으면 Create pull request을 클릭!


 팁:당신은 코멘트와 풀리퀘스트에 emojidrop images and gifs을 사용할 수 있다.


source: https://guides.github.com/activities/hello-world/#commit


+ Recent posts