2015-05-11 11 views
6

Używam AliceFixturesBundles i zależy to od NelmioAlice i Faker. Zależności są obsługiwane wewnętrzne jak na przykład:Jak przesłonić inne zależności w 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\\": "" 
     } 
    } 
} 

opiera się na:

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" 
     } 
    } 
} 

I mój problem jest właśnie tutaj, na tej linii: "fzaninotto/faker": "~1.0",, jak zastąpić ten wiersz w moim composer.json w celu wykorzystania "fzaninotto/faker": "1.5.*@dev" zamiast zdefiniowanego?

+0

Dlaczego chcesz go zastąpić? –

+0

@JamesSpence, ponieważ muszę użyć czegoś, co nie zostało jeszcze oznaczone na repozytorium Faker i jest dostępne tylko w oddziale dev/master – ReynierPM

+0

hm Widzę. Wygląda na to, że takie zachowanie jest możliwe. Zobacz [ten link na temat przesłonięcia zależności.] (Http://mnapoli.fr/overriding-dependencies-with-composer/) –

Odpowiedz

14

W swoim composer.json, można to zrobić:

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

Nie działa, najpierw otrzymałem ten "nieprawidłowy ciąg znaków" ~ 1.0 "w" 1.5.*@dev jako ~ 1.0 ", alias musi być dokładną wersją', a następnie zmień linię z twojej na tę' 'fzaninotto/faker ":" 1.5.*@dev jako 1.0.0 "," ale potem dostałem to "Twoje wymagania nie mogą zostać rozwiązane do instalowalnego zestawu pakietów." Poproszę pakiet mantainer, aby zobaczyć, jak sobie z tym poradzę, dzięki ' – ReynierPM

+0

Wygląda na to, że twoja specyfikacja wersji ('1.5. * @ Dev') może nie być dokładna. Wypróbuj 'dev-master', sprawdź, czy to działa. –

+0

To zadziałało, dziękuję za pomoc – ReynierPM

Powiązane problemy