FuelPHP에서 Composer가 들어 있지 않았다고 화가났을 때의 대처 방법

5095 단어 FuelPHPPHPVagrant

환경


  • Windows 8.1 64bit
  • Vagrant 1.8.1
  • PHP 5.5.33 (cli)
    Copyright (c) 1997-2015 The PHP Group
  • FuelPHP Version: 1.7.3



  • 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도 있기 때문에, 주의해 주세요.

    참고문헌


  • FuelPHP1.6으로 업데이트하면 Composer is not installed 오류입니다.
  • Composer 설치
  • FuelPHP No composer autoloader found. Please run composer to install the FuelPHP framework dependencies first!
  • 좋은 웹페이지 즐겨찾기