FuelPHP에서 Composer가 들어 있지 않았다고 화가났을 때의 대처 방법
환경
Copyright (c) 1997-2015 The PHP Group
FuelPHP 넣어 localhost에 액세스하면 이런 Error가 표시되었다.
Composer is not installed.
Composer란?
Note1
Composer는 PHP의 새로운 패키지 (라이브러리) 관리 도구입니다. PHP5.3.2 이상에서 사용할 수 있습니다. 프로젝트별로 필요한 패키지를 관리할 수 있습니다. 공식 사이트는 http://getcomposer.org/입니다.
Note2
Composer는 PHP 종속 관리 도구입니다. Composer는 프로젝트에 필요한 종속 라이브러리를 정의할 수 있도록 하여 설치를 수행합니다.
이 아이디어는 새로운 것이 아닙니다. Composer는 node의 npm과 ruby의 bundler에 강하게 영감을 받았습니다. 그러나 PHP에는 그러한 도구가 없었습니다.
원래 왜 Composer가 필요한가?
FuelPHP 1.6부터 Composer가 공식적으로 채택되어 일부 라이브러리가 Composer에서 관리되고, 1.7.2부터는 FuelPHP의 하위 리포지토리도 Composer를 통해 설치됩니다.
그래서 FuelPHP를 사용하려면 Composer가 필요하다는 것을 알 수 있습니다.
Composer를 install하자.
composer 다운로드 및 설치.
※root 권한으로 실행합시다
curl -sS https://getcomposer.org/installer | php
하지만 왜?
Could not load package composer/installers in http://packagist.org: [UnexpectedV
alueException] Could not parse version constraint ^1.0: Invalid version string "
^1.0"
화가났다.
원인을 살펴보면 Stack Overflow에서 솔루션을 발견하십시오.
UnexpectedValueException Could not parse version constraint ^1.0.2: Invalid version string “^1.0.2”
Composer added the ability to use the caret operator in early December 2014. Updating Composer will eliminate this problem - which is quite common because everyone uses PHPUnit, and PHPUnit started using this operator in late January 2015.
의역하면
Composer를 업데이트하면이 문제가 해결됩니다!
(이 Error로 토해지고 있는 내용으로서는,
^1.0
와 같이 ^
(caret operator)를 사용해 버젼을 지정하는 기능은 나중에 추가된 것으로, composer 명령이 낡은 버젼이라고 ^
(caret operator) 이해하지 못하고 오류가 발생합니다. 즉, composer 자체를 업데이트하지 않으면 ^
(caret operator)이 인식 할 수 없기 때문에 예외 처리가 발생했습니다.)composer update를 실행한다.
[root@localhost fuelphp]# composer update
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Loading composer repositories wUpdating dependencies (including require-dev) - Installing composer/installers (v1.0.23)
Downloading: 100%
- Installing fuel/docs (dev-1.7/master 473174d)
Cloning 473174da2cf503c60d4a9935b71acfc31f0906d0
- Installing fuel/core (dev-1.7/master f614b30)
Cloning f614b30e1f76389580c2d97991ab3f25c1533a29
- Installing fuel/auth (dev-1.7/master aa9bd2e)
Cloning aa9bd2e5104026814ff516aacf03258f62a94a55
- Installing fuel/email (dev-1.7/master 8fbf378)
Cloning 8fbf378d74bac170a96cad96ba0aed77e319a865
- Installing fuel/oil (dev-1.7/master ea37c3a)
Cloning ea37c3a7fe8675fb3327327213b2eca55303933a
- Installing fuel/orm (dev-1.7/master 5e05c30)
Cloning 5e05c3068562548657fea69850a23b23f65a5545
- Installing fuel/parser (dev-1.7/master 0cacd10)
Cloning 0cacd10d7b1b8f92a0eeddce75c6ba2c0c28112f
- Installing fuelphp/upload (2.0.2)
Downloading: 100%
- Installing psr/log (1.0.0)
Downloading: 100%
- Installing monolog/monolog (1.5.0)
Downloading: 100%
- Installing michelf/php-markdown (1.4.0)
Downloading: 100%
monolog/monolog suggests installing mlehner/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing raven/raven (Allow sending log messages to a Sentry server)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
Writing lock file
Generating autoload files
localhost에 들어가 화면이 표시되면 괜찮습니다.
※Gihub의 토큰을 만들지 않으면 안 되는 Error도 있기 때문에, 주의해 주세요.
참고문헌
Reference
이 문제에 관하여(FuelPHP에서 Composer가 들어 있지 않았다고 화가났을 때의 대처 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Fendo181/items/53148c81c79dc5cbe6c2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)