2012-11-10 8 views
1

찾을 수 없습니다 : - 모든, 잘 작동 microframework의 SILEX 및SILEX/SILEX 1.0.*@dev -> 일치하는 패키지는 내가 빈 폴더를 만들고 거기에 composer.json을 넣으면

{ 
    "require": { 
     "silex/silex": "1.0.*@dev" 
    } 
} 

하고보다 composer install 실행을 요구 사항은 공급 업체 폴더에 설치됩니다. 승인.

더 복잡한 예를 들자면 왜 작동하지 않는지 이해할 수 있습니다. 필자는 "일종의 프레임 워크"("light/light4"라고 함)에 의존하는 프로젝트 (FB라고 함)가 있습니다. FB 프로젝트의 composer.json은 :

{ 
    "repositories":[ 
     { 
      "type":"hg", 
      "url":"http://bitbucket.org/pqr/light4" 
     } 
    ], 
    "require":{ 
     "light/light4":"dev-default" 
    } 
} 

당신이 내 프레임 워크의 빛에 따라 보듯이/light4은의 bitbucket에 개최했다. 다음 빛/light4 composer.json는 :

{ 
    "name":"light/light4", 
    "version":"1.0.0", 
    "require":{ 
     "php":">=5.4.0", 
     "silex/silex": "1.0.*@dev", 
     "twig/twig":">=1.8,<2.0-dev", 
     "monolog/monolog":">=1.0.0", 
     "symfony/validator":"2.1.*", 
     "symfony/console":"2.1.*" 
    }, 
    "autoload":{ 
     "psr-0":{ 
      "Light":"src/" 
     }, 
     "files":[ 
      "src/functions/body.php", "src/functions/db.php", "src/functions/file.php", "src/functions/misc.php" 
     ] 
    } 
} 

빛/light4는 SILEX/SILEX과 다른 것들에 따라 달라집니다.

나는 결코 눈치 채지 못했습니다. "minimun-stability":"dev" - 안정 버전에서는 기본적으로 모든 패키지가 설치되어 있다고 가정합니다. 제외 SILEX/SILEX 내가 루트 프로젝트 (FB)에 composer -v install을 실행할 때, 나는 오류 다음 얻을, "silex/silex": "1.0.*@dev" Unfortunatelly

로 빛/light4에 필요한 :

Loading composer repositories with package information 
Reading composer.json of light/light4 (default) 
Importing branch default (dev-default) 
Installing dependencies 
Your requirements could not be resolved to an installable set of packages. 

    Problem 1 
    - light/light4 dev-default requires silex/silex 1.0.*@dev -> no matching package found. 
    - light/light4 dev-default requires silex/silex 1.0.*@dev -> no matching package found. 
    - Installation request for light/light4 dev-default -> satisfiable by light/light4 dev-default. 

Potential causes: 
- A typo in the package name 
- The package is not available in a stable-enough version according to your minimum-stability setting 
    see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details. 

Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems. 

silex/silex 1.0.*@dev -> no matching package found - 왜 ??? 그것은 단순한 빈 프로젝트에서 작동하지만 요구 사항 체인에는 작동하지 않습니다. (

누군가가 composer-dev irc에서 FB 프로젝트의 일반 composer.json에 "silex/silex": "1.0.*@dev"을 입력하도록 권유했습니다. 이제 시도해 보았습니다. 안정 버전과 내가 원하는대로 devile 버전의 유일한 silex/silex. 이제 완전히 혼란 스럽습니다.

일반적인 composer.json에서 작동하고 중첩 된 (필수) 프로젝트 표시등에서 작동하지 않는 이유는 여전히 있습니다./light4? 문제의 근본 원인을 이해하거나 작곡가의 버그 일뿐입니다.

답변

2

docs은 "require and require-dev additional stab ility 플래그 (루트 전용) "

이러한 플래그는 프로젝트의 패키지 안정성을 완벽하게 제어 할 수 있도록하기 위해 루트 패키지 (definition of root-only 참조)에서만 읽습니다. 분명히 그것은 당신의 의존성 중 일부가 불안정한 것들에 의존 할 때 문제가되지만, 점점 더 많은 패키지가 작곡가가 사용할 수있는 안정적인 릴리즈를 갖게되면 더 좋아질 것입니다.