2015-05-11 11 views
6

Ich verwende AliceFixturesBundles und dies ist abhängig von NelmioAlice und Faker. Abhängigkeiten werden behandeln interne wie zum Beispiel:Wie überschreiben andere Abhängigkeiten in composer.json

https://github.com/h4cc/AliceFixturesBundle/blob/master/composer.json 

{ 
    "name": "h4cc/alice-fixtures-bundle", 
    "description": "Symfony2 Bundle for loading fixture data with the Alice library.", 
    "keywords": ["Symfony2", "Fixtures", "Alice", "Loader", "Doctrine", "ORM", "MongoDB"], 
    "type": "symfony-bundle", 
    "license": "MIT", 
    "authors": [ 
     { 
      "name": "Julius Beckmann", 
      "email": "[email protected]" 
     } 
    ], 
    "require": { 
     "php": ">=5.3.0", 
     "nelmio/alice": "~1.6", 
     "doctrine/common": "~2.1", 
     "psr/log": "~1.0", 
     "symfony/finder": "~2.0" 
    }, 
    "require-dev": { 
     "phpunit/phpunit": "~4.0", 
     "symfony/framework-bundle": "~2.1", 
     "doctrine/orm": "~2.1", 
     "doctrine/mongodb-odm": "1.0.*@dev", 
     "doctrine/mongodb-odm-bundle": "3.0.*@dev", 
     "matthiasnoback/symfony-config-test": "~0.2.1" 
    }, 
    "autoload": { 
     "psr-4": { 
      "h4cc\\AliceFixturesBundle\\": "" 
     } 
    } 
} 

stützt sich auf:

https://github.com/nelmio/alice/blob/master/composer.json 

{ 
    "name": "nelmio/alice", 
    "description": "Expressive fixtures generator", 
    "keywords": ["fixture", "data", "test", "orm"], 
    "type": "library", 
    "license": "MIT", 
    "authors": [ 
     { 
      "name": "Jordi Boggiano", 
      "email": "[email protected]" 
     }, 
     { 
      "name": "Tim Shelburne", 
      "email": "[email protected]" 
     } 
    ], 
    "require": { 
     "php": ">=5.4", 
     "fzaninotto/faker": "~1.0", 
     "symfony/yaml": "~2.0" 
    }, 
    "require-dev": { 
     "doctrine/common": "~2.3", 
     "symfony/property-access": "~2.2", 
     "phpunit/phpunit": "3.7.*" 
    }, 
    "autoload": { 
     "psr-4": { "Nelmio\\Alice\\": "src/Nelmio/Alice" } 
    }, 
    "extra": { 
     "branch-alias": { 
      "dev-master": "2.0.x-dev" 
     } 
    } 
} 

Und mein Problem ist nur hier, auf dieser Linie: "fzaninotto/faker": "~1.0",, wie diese Zeile außer Kraft zu tun auf meinem composer.json zu verwenden, um "fzaninotto/faker": "1.5.*@dev" statt der einen definiert?

+0

Warum wollen Sie es außer Kraft zu setzen? –

+0

@JamesSpence, weil ich etwas noch nicht getaggt auf Faker Repo verwenden muss und es ist nur bei dev/master Zweig verfügbar – ReynierPM

+0

hm ich sehe. Es sieht so aus, als ob ein solches Verhalten möglich ist. Siehe auch [Dieser Link zum Überschreiben von Abhängigkeiten.] (Http://mnapoli.fr/overriding-dependencies-with-composer/) –

Antwort

14

In Ihrem eigenen composer.json, können Sie dies tun:

{ 
    "require": { 
     "h4cc/alice-fixtures-bundle": "dev/master", //Whatever version you use 
     "fzaninotto/faker": "dev-master as 1.0" 
    } 
} 
+0

Hat nicht funktioniert, bekam zuerst diese 'Ungültige Versionszeichenkette" ~ 1.0 "in" 1.5.*@dev als ~ 1.0 ", der Aliasname muss eine exakte Version sein", dann ändere die Zeile von deiner in diese "" fzaninotto/faker ":" 1.5.*@dev as 1.0.0 ",' aber dann bekam ich das 'Ihre Anforderungen konnten nicht zu einem installierbaren Satz von Paketen gelöst werden. Ich werde den Paket-Mantainer fragen, wie ich damit umgehen kann, danke ' – ReynierPM

+0

Ihre Versionsspezifikation ('1.5. * @ Dev') scheint nicht korrekt zu sein. Probiere 'dev-master' aus, ob das funktioniert. –

+0

Das hat funktioniert, danke für deine Hilfe – ReynierPM