PHP Composer 설치 및 사용법

2018.09.27 15:52

졸리운_곰 조회 수:288

 

 

 

 

composer 는 ruby 의 bundle 처럼 패키지간의 의존성을 관리해 주는 유틸리티이다.

 

설치

  • PHP 5.3.2+  이상이 필요하다.
  • openssl extension 이 활성화되어야 한다.

Linux/Unix/Mac OS X

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/

또는 curl 이 없을 경우 php 로 바로 설치. (https 관련 에러가 날 경우 php.ini 의 openssl extension 이 주석해제 되었는지 확인)

php -r "readfile('https://getcomposer.org/installer');" | php -- --install-dir=/usr/local/bin/

 

사용하기 쉽게 symbolic link 를 건다.

sudo ln -s /usr/local/bin/composer.phar /usr/local/bin/composer

 

Windows

자동 설치

  1. 설치 프로그램을 다운로드 받아 실행 https://getcomposer.org/Composer-Setup.exe 

 

수동 설치

  1. cmd.exe 를 연다.
  2. PATH 가 걸린 디렉터리로 이동한다.
  3. 다음 명령어를 실행하면 composer.phar 이 설치된다.

    php -r "readfile('https://getcomposer.org/installer');" | php
  4. composer.phar 이 있는 디렉터리에서 composer.bat 이름으로 배치 파일을 작성한다.

    @ECHO OFF
    php "%~dp0composer.phar" %*

 

사용

명령어 없이 실행하면 사용 가능한 명령어 목록을 출력한다.

 여기를 클릭하여 펼치기...

composer.json

프로젝트 설정은 composer.json 파일에 기술하며 의존성 항목은 require 항목으로 기술한다. require 는 "owner/packagename" : "version" 형식으로 기술한다.

{
 "name""lesstif/my-project"
 "require": {
        "laravel/framework""4.2.*",
        "kmd/logviewer""1.2.*",
        "monolog/monolog""1.11.*"
        "netresearch/jsonmapper" "*"
    },
}

버전은 기본적으로 프로젝트의 tags 디렉터리에서 찾으며 -dev 가 붙을 경우 branches 에서 가져 오게 된다. (버전 명명법 보기)


require 구문은 composer.json 에 직접 기술해도 되지만 require 명령을 사용하는게 더 간편하다.

composer require monolog/monolog 1.11.\*

 

패키지 설치

composer.json 에 필요한 패키지를 다 기술했으면 install 명령어로 설치할 수 있다. 설치된 패키지는 vendor 폴더밑에 위치한다.

composer install

 

패키지 갱신

composer.json 파일이 변경되었으면 update 명령어로 반영할 수 있다.

composer update

 

Autoloading

composer 로 설치한 library 들은 autoload.php 에 등록되므로 PHP 개발시에 필요한 라이브러리를 일일이 require 구문을 사용하지 않고 다음 문장 하나만 적어 주면 된다. 

require 'vendor/autoload.php';

 

개발 브랜치 사용하기

버전 항목을 "dev-master" 로 설정하면 릴리스 되지 않은 master 브랜치의 마지막 버전을 가져 옴.

{
    "require": {
        "lesstif/php-jira-rest-client""dev-master"
    }
}

develop 브랜치를 사용할 경우 "dev-master" 대신  "dev-develop" 로 지정

{
    "require": {
        "lesstif/php-jira-rest-client""dev-develop"
    }
}

composer config

config 옵션으로 composer 의 기본 동작을 제어하는 옵션을 설정할 수 있음.

설정 보기

composer.json 이 있는 폴더에서 아래 명령을 실행하여 현재 설정을 출력

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

composer config --list

전역 설정을 보려면 global 옵션을 추가

composer global config --list

 

설정

config 명령뒤에 설정할 key value 를 입력

composer config repositories.foo vcs https://github.com/foo/bar

전역적으로 설정할 경우 config 앞에 global 키워드 추가

composer global config minimum-stability dev

 

composer로 신규 프로젝트 만들기

기존 프로젝트 복제하여 생성

옵션에 프로젝트 명을 주면 기존 프로젝트를 설치하면서 프로젝트 생성. 마지막 옵션(2.2.*) 은 사용할 버전이며 생략시 최신 버전이 사용됨.

php composer.phar create-project doctrine/orm path/to/my-cloned-project 2.2.*

 

새로 생성

  1. 프로젝트 폴더 생성

    $ mkdir monolog-eloquent
    $ cd monolog-eloquent
  2. 프로젝트 초기화

    $ composer init
  3. 프로젝트 설정 입력

     여기를 클릭하여 펼치기...


    Welcome to the Composer config generator


    This command will guide you through creating your composer.json config.

    Package name (<vendor>/<name>) [root/monolog-eloquent]: lesstif/monolog-eloquent
    Description []: Eloquent ORM driver for Laravel Monolog.
    Author [KwangSeob Jeong <lesstif@gmail.com>]: 
    Minimum Stability []: 
    Package Type []: 
    License []: MIT

    Define your dependencies.

    Would you like to define your dependencies (require) interactively [yes]? 
    Search for a package: laravel

     

    Found 15 packages matching laravel

    [0] laravel/laravel
    [1] laravel/framework
    [2] artdarek/oauth-4-laravel
    [3] jelovac/bitly4laravel
    [4] laravel/installer

    Enter package # to add, or the complete package name if it is not listed: 1
    Enter the version constraint to require (or leave blank to use the latest version): ~5.0 
    Search for a package: 
    Would you like to define your dev dependencies (require-dev) interactively [yes]? 
    Search for a package: phpunit

    Found 15 packages matching phpunit

    [0] phpunit/phpunit
    [1] phpunit/phpunit-mock-objects
    [2] phpunit/phpunit-selenium


    Enter package # to add, or the complete package name if it is not listed: 0
    Enter the version constraint to require (or leave blank to use the latest version): ~4.0

    Search for a package:

    {
    "name": "lesstif/monolog-eloquent",
    "description": "Eloquent ORM driver for Laravel Monolog.",
    "require": {
    "laravel/framework": "~5.0"
    },
    "require-dev": {
    "phpunit/phpunit": "~4.0"
    },
    "license": "MIT",
    "authors": [
    {
    "name": "KwangSeob Jeong",
    "email": "lesstif@gmail.com"
    }
    ]
    }

    Do you confirm generation [yes]?

  4. composer.json 이 생성됨.
  5. .gitignore 파일 생성(https://www.gitignore.io/api/vim,laravel,composer)

    # Created by https://www.gitignore.io
     
    ### Vim ###
    [._]*.s[a-w][a-z]
    [._]s[a-w][a-z]
    *.un~
    .netrwhist
    *~
     
     
    ### Laravel ###
    /bootstrap/compiled.php
    .env.*.php
    .env
     
     
    ### Composer ###
    vendor/
     
    # Commit your application's lock file http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file
    # You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
  6. composer install 로 의존성 패키지 설치

    $ composer install
     

[출처] https://www.lesstif.com/pages/viewpage.action?pageId=23757293

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
» PHP Composer 설치 및 사용법 졸리운_곰 2018.09.27 288
88 [PHP] PhpStorm IDE 사용하기 file 졸리운_곰 2018.07.19 119
87 phpStorm 원격 서버 연결 및 배포 (Deployment) file 졸리운_곰 2018.07.18 152
86 php 세션 저장소를 redis 로 바꾸어 본 후기. file 졸리운_곰 2018.05.05 413
85 아이오닉과 php 그리고 mysql 연동 : Using PHP and MySQL with Ionic file 졸리운_곰 2018.01.14 340
84 CKEditor 4 설치와 PHP 연동 하기 file 졸리운_곰 2018.01.14 234
83 5가지 조미료같은 워드프레스 플러그인 file 졸리운_곰 2018.01.14 52
82 wordpress 한시간만에 만들기 졸리운_곰 2017.10.26 63
81 PHP 프레임 새로고침할 때 페이지 유지하기 입니다. 졸리운_곰 2017.09.17 365
80 How to install composer on Wamp file 졸리운_곰 2017.09.10 104
79 Install Composer on Windows and WAMP Server file 졸리운_곰 2017.09.10 46
78 php로 하둡 다루기 : Using Hadoop And PHP 졸리운_곰 2017.08.03 213
77 php로 빅데이터 다루기 : BIG DATA IN PHP file 졸리운_곰 2017.08.03 47
76 PHP-ML - Machine Learning library for PHP 머신러닝 file 가을의곰 2017.06.18 267
75 xampp+php+mssql file 가을의곰 2017.06.10 142
74 Build An Automated PHP Gallery System In Minutes file 가을의곰 2017.06.10 181
73 xampp+php+mssql file 가을의곰 2017.06.04 98
72 PHP - AJAX and PHP file 졸리운_곰 2017.05.06 47
71 PhpStorm 으로 라라벨 개발 하기 졸리운_곰 2017.05.05 408
70 WordPress Development using PhpStorm 졸리운_곰 2017.05.05 457
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED