특정 버전의 라라벨 설치하기 free

2019-07-04

며칠 전에 벨 5.8.27이 나왔다. 새로 설치하는 사람이면 특별한 이유가 없는 한 최신 버전을 설치하는게 좋다. 메뉴얼에서 안내하는 대로 설치하면 자연히 최신 버전이 설치된다. 하지만 어떠한 이유에서건 과거의 버전을 설치할 필요가 생길 수 있다.


구글에서 laravel install specific version 으로 검색하면 특정 버전의 벨을 설치하는 방법을 어렵지 않게 찾을 수 있다.


스크린샷 2019-07-04 오전 11.25.28.png



문제는 저 글들이 공통적으로 알려주는 방법으로는 내가 원하는 정확한 버전을 설치할 수 없다는 점이다. 위 이미지에 나온 검색 결과 중 첫번째 글의 베스트 답변은 컴포저로 버전을 명시해서 설치하는 것이다.


스크린샷 2019-07-04 오전 11.32.36.png



그럼 이 방법으로 직전 버전인 5.8.26을 설치해보자.


composer create-project laravel/laravel="5.8.26" myProject
스크린샷 2019-07-04 오전 11.37.45.png


5.8.26 버전의 패키지를 찾을 수 없다! 그렇다면 두번째 베스트 답변은 어떨까?


스크린샷 2019-07-04 오전 11.41.15.png


--5.8.26는 옵션은 존재하지 않는다며 설치 실패! 두 방법 모두 내가 원하는 버전이 설치 안되는 수준이 아니 아예 설치 자체가 안된다.


laravel/laravel과 laravel/framework


까? 위의 컴포저 명령문을 다시 한 번 자세히 살펴보면 laravel/laravel 패키지를 설치를 시도한다는걸 알 수 있다. laravel/laravel의 깃헙 저장소에 가서 릴리즈 내역을 보면 최신 버전이 5.8.17이다. 5.8.27은 어디로 간거지?

스크린샷 2019-07-04 오전 11.52.04.png



5.8.17로 설치해보면? 설치된다.

스크린샷 2019-07-04 오전 11.55.57.png



버전을 확인해볼까?

스크린샷 2019-07-04 오전 11.56.51.png


5.8.27!??


이런 현상이 벌어지는 이유는 벨의 구조 때문에다. 벨은 laravel/laravel과 laravel/framework 패키지를 가지고 있다. laravel/framework가 벨 코어 프레임워크이고 laravel/laravel은 laravel/framework를 이용한 뼈대(skeleton) 애플리케이션이다. 즉 laravel/laravel은 종의 퀵스타트 예제인 셈이다. laravel/laravel과 laravel/framework의 관계는 appkr님의 글에도 잘 정리되어 있으니 참고하자.


laravel/laravel의 composer.json을 살펴보면 다음과 같이 laravel/framework에 의존하는 것을 확인할 수 있다.


"require": {
"php": "^7.1.3",
"fideloper/proxy": "^4.0",
"laravel/framework": "5.8.*",
"laravel/tinker": "^1.0"
},

“laravel/framework”: “5.8.*” 으로 의존하기 때문에 5.8의 최신 버전이 설치된다. 따서 특정 버전의 벨을 설치하는 방법은 간단하다. laravel/laravel을 clone 혹은 내려받기한 다음 composer.json에 laravel/framework의 정확한 버전을 지정한 뒤 composer install로 설치하는 것이다.


laravel/laravel clone 혹은 내려받기(설치 아님)


내려받기는 설명할게 없으니 git clone으로 진행해보자.


git clone git@github.com:laravel/laravel.git myProject

laravel/laravel에 기여하려고 클론한 것은 아니니 깃 정보를 제거하자.


cd myProject
rm -rf .git

composer.json을 열고 "laravel/framework": "5.8.*"을 "laravel/framework": "5.8.26" 으로 바꾼다.


"require": {
"php": "^7.1.3",
"fideloper/proxy": "^4.0",
"laravel/framework": "5.8.26",
"laravel/tinker": "^1.0"
},

컴포저로 의존 패키지들을 설치한다.


composer install

설치가 완료되면 버전을 확인해보자.


php artisan
스크린샷 2019-07-04 오후 12.19.59.png


5.8.26이 설치되었다.


===


컴포저에 익숙하신 분이면 별 내용 아닐 수 있는데, 의외로 검색결과에 제대로 된 답변들이 없어서 정리해봤습니다. 필요할 때 도움이 되면 좋겠네요~ :)


2019년 7월 4
1 1


유료 구독자 전용 레터입니다.

한 달 1만원으로 매일 라라벨 관련 메일 받아보시고 과거 메일도 열람하세요. 일반 구독으로 공개글만 받아보실 수도 있습니다.

구독하기 버튼을 눌러주시면 구독과 동시에 xly에도 가입됩니다.

이현석

바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서를 쓰고, 클린 아키텍처 인 PHP를 번역했습니다. 2020년에 출간될 Laravel Up & Running 2nd Edition을 번역하고 있습니다.