PHP

PHP – Composer 설치 및 사용법

  • Composer 란?
    • Composer는 PHP 소프트웨어와 필요 라이브러리의 의존성을 관리하기 위한 표준 포맷을 제공하는 PHP 프로그래밍 언어의 패키지 관리자
    • 타 언어에서 동일 기능으로 python pip, java maven, nodejs npm 등이 있습니다
  • Composer 설치
# Linux
# curl 설치
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/

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

# composer.phar 설치
php -r "readfile('https://getcomposer.org/installer');" | php

# composer.bat 이름으로 배치 파일 작성
@ECHO OFF
php "%~dp0composer.phar" %*
  • 심볼릭 링크 생성
sudo ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
  • Composer 의존성 기술
# composer.json 파일에 직접 기술
{
    "type":"project",
    "license":"closed",
    "require":{
        "php" : "^7.1.3",
        "doctrine/annotations" : "1.6.*",
        "symfony/routing" : "4.1.*",
        "symfony/debug" : "4.1.*",
        "symfony/templating" : "4.1.*",
        "symfony/http-foundation" : "4.1.*",
        "symfony/twig-bridge" : "4.1.*",
        "symfony/translation" : "4.1.*",
        "twig/twig" : "2.5.*",
        "guzzlehttp/guzzle" : "6.3.*",
        "phpseclib/phpseclib" : "^2.0",
        "zendframework/zend-crypt" :"^3.3.0",
        "facebook/graph-sdk": "^5.7",
        "swiftmailer/swiftmailer": "^6.0",
        "abraham/twitteroauth": "1.0.1" 
    }
}

# require 옵션으로 기술
composer require monolog/monolog 1.24.\*
  • Composer 설정
# config 명령 뒤에 설정할 key value 를 입력
composer config repositories.[계정명] vcs https://github.com/[계정명]/[repository명]
  • Package 설치
# composer.json 파일에 기술한 패키지 설치 
composer install
  • Package 갱신
# composer.json 파일 변경 내용 적용
composer update
  • Package 삭제
# 패키지 검색
cat composer.json | grep "scssphp/scssphp"

# 패키지 제거
composer remove "scssphp/scssphp"
  • Composer Project 관리
# 프로젝트 복제
php composer.phar create-project doctrine/orm path/to/my-cloned-project 2.2.*

# 프로젝트 생성
mkdir new_project
cd new_project
composer init
composer.json 작성
composer install

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.