티스토리 뷰
개발 환경을 설정하거나 레거시 프로젝트를 관리할 때 특정 버전의 Composer가 필요할 때가 있습니다.
혹은 Ubuntu에서 기본적으로 설치되는 Composer의 버전이 원하는 환경과 맞지 않는 경우가 있습니다. 이럴 경우 버전관리가 필요합니다.
이번에는 Ubuntu에서 Composer의 버전을 업데이트하고 관리하는 방법을 작성해보겠습니다!!
Composer란?
Composer는 PHP에서 가장 널리 사용되는 패키지 관리 도구입니다. 패키지 관리 도구는 프로젝트에 필요한 라이브러리와 모듈을 쉽게 관리할 수 있도록 돕는 도구입니다.
Composer는 composer.json 파일에 명시된 종속성을 관리하며, 프로젝트에 필요한 패키지를 자동으로 다운로드하고 설치해줍니다.
Composer 설치 및 업데이트하기
우선, Ubuntu에 Composer가 이미 설치되어 있을 경우 이를 제거해야 합니다. 터미널에서 아래 명령어를 실행해보세요.
sudo apt-get remove composer -y
다음으로, Composer의 설치 프로그램과 설정 파일을 다운로드합니다.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --install-dir=/usr/bin --filename=composer
이 명령어를 실행하면, 최신 버전의 Composer가 설치됩니다. 이제 Composer 버전을 원하는 대로 전환해보도록 합시다.
Composer 버전 전환하기
버전 1로 전환하려면 self-update 명령과 --1 플래그를 사용하면 됩니다. 이렇게 하면 Composer가 버전 1로 변경되어 종속성을 설치할 수 있게 됩니다.
composer self-update --1
종속성을 설치한 후에는, self-update 명령과 --2 플래그를 사용하여 Composer를 버전 2로 다시 전환할 수 있습니다.
composer self-update --2
Composer 특정 버전으로 전환하기
또한, 다음과 같이 부 버전 번호를 사용하여 특정 버전으로 변경할 수도 있습니다.
composer self-update 1.10.22
composer self-update 2.1.3
Composer 버전 되돌리기
만약 최근에 업데이트된 버전이 마음에 들지 않아 이전 버전으로 되돌리고 싶다면, --rollback 옵션을 사용하면 됩니다.
composer self-update --rollback
Composer미리보기 버전 사용하기
Composer는 사용자들에게 아직 안정화되지 않은 버전을 미리 테스트해볼 수 있는 기능을 제공합니다. 이를 사용하려면 --preview 옵션을 사용하면 됩니다.
composer self-update --preview
이 옵션을 사용하면, 최신의 베타 또는 알파 버전을 사용해볼 수 있습니다. 이 기능은 새로운 기능을 미리 사용해보거나 버그 리포트를 제출하는 데 유용할 수 있습니다.
Composer를 이용한 패키지 관리
이제 Composer의 버전을 원하는 대로 관리하는 방법을 알았습니다. 그럼 이제 Composer를 이용해 패키지를 어떻게 관리하는지 알아볼까요?
composer.json 파일은 프로젝트의 종속성을 선언하는 곳입니다. 이 파일에 프로젝트가 필요로 하는 패키지와 그 버전을 명시하면, Composer는 이를 기반으로 필요한 패키지를 다운로드하고 설치합니다. 예를 들어, 다음과 같이 composer.json 파일을 작성할 수 있습니다.
{
"require": {
"monolog/monolog": "1.0.*"
}
}
위의 composer.json 파일은 monolog라는 패키지를 버전 1.0.*을 사용하도록 명시하고 있습니다. 이렇게 하면, Composer는 자동으로 monolog 패키지를 다운로드하고 설치합니다.
읽어주셔서 감사합니다.
'프로그래밍 > Ubuntu' 카테고리의 다른 글
Ubuntu 20.04 서버에 PHP 8.1 설치하기 (0) | 2023.07.07 |
---|---|
Ubuntu 20.04 LTS 버전에 apache와 php, mysql 설치하기 (0) | 2023.07.06 |
- Total
- Today
- Yesterday
- 인페인팅
- 노아스로스팅
- AutoML
- 엣지컴퓨팅
- AI Ethics
- Zfold5
- 언팩2023
- chatGPT4
- 20.04
- Cleanup.pictures
- ubuntu
- Edge Computing
- Galaxy z Fold 5
- php
- ryan dahl
- Hypersuggest
- copy.ai
- 대파빵
- Ai
- 802.11bb
- deno
- php8.1
- Federated Learning
- 플랫폼 엔지니어링
- 김포레스트점
- 갤럭시 Z Fold 5
- V8
- Platform Engineering
- gpt-4
- JavaScript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |