-
Composer 란?
- Composer는 PHP 소프트웨어와 필요 라이브러리의 의존성을 관리하기 위한 표준 포맷을 제공하는 PHP 프로그래밍 언어의 패키지 관리자
- 타 언어에서 동일 기능으로 python의 pip, java의 maven, nodejs의 npm 등이 있습니다
# 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.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.\*
# config 명령 뒤에 설정할 key value 를 입력
composer config repositories.[계정명] vcs https://github.com/[계정명]/[repository명]
# composer.json 파일에 기술한 패키지 설치
composer install
# composer.json 파일 변경 내용 적용
composer update
# 패키지 검색
cat composer.json | grep "scssphp/scssphp"
# 패키지 제거
composer remove "scssphp/scssphp"
# 프로젝트 복제
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