Pracowałem nad projektem przy użyciu Symfony 2.1 na moim komputerze lokalnym. Przesłałem go na mój serwer, ale kiedy próbuję zainstalować pakiety dostawcy za pomocą Composer, pojawia się wiele błędów zależności. Przypuszczalnie jest to związane z najnowszą wersją Symfony, która właśnie została wydana, a mój composer.json
plik nie określa dokładnych numerów wersji.
Czy jest jakiś sposób, aby szybko wyświetlić numery wersji wszystkiego na moim komputerze lokalnym?
Oto mój plik composer.json (który działał dobrze jeszcze kilka dni temu):
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.0.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.1.*",
"symfony/monolog-bundle": "2.1.*",
"sensio/distribution-bundle": "2.1.*",
"sensio/framework-extra-bundle": "2.1.*",
"sensio/generator-bundle": "2.1.*",
"jms/security-extra-bundle": "1.2.*",
"jms/di-extra-bundle": "1.1.*",
"sonata-project/admin-bundle": "*",
"sonata-project/cache-bundle": "dev-master",
"sonata-project/doctrine-orm-admin-bundle": "dev-master",
"stof/doctrine-extensions-bundle": "1.1.x-dev",
"sonata-project/user-bundle": "dev-master",
"sonata-project/easy-extends-bundle": "dev-master",
"friendsofsymfony/user-bundle": "2.0.x-dev",
"friendsofsymfony/jsrouting-bundle": "*",
"liip/imagine-bundle": "*",
"simplethings/form-extra-bundle": "dev-master",
"antimattr/google-bundle": "dev-master",
"doctrine/doctrine-fixtures-bundle": "dev-master",
"genemu/form-bundle": "2.1.*",
"behat/behat": "2.4.*@stable",
"behat/mink": "1.4.*@stable",
"behat/symfony2-extension": "*@stable",
"behat/mink-extension": "*@stable",
"behat/mink-selenium2-driver": "*@stable",
"behat/mink-browserkit-driver": "*",
"liip/functional-test-bundle": "dev-master"
},
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"minimum-stability": "dev",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web"
},
"config": {
"bin-dir": "bin/"
}
}
composer-php
Dan
źródło
źródło
composer show
domyślnie wyświetla zainstalowany pakiet.composer show --help
drukuje wszystkie dostępne opcje.Aby wyświetlić globalnie zainstalowane pakiety kompozytora:
źródło
Wyświetl listę zainstalowanych zależności:
composer show -i
composer show -i -t
-i
skrót od--installed
.-t
skrót od--tree
.ref: https://getcomposer.org/doc/03-cli.md#show
źródło
-t
flaga jest bardzo przydatnaZachowanie tego polecenia zostało zmodyfikowane, więc nie musisz przekazywać
-i
opcji:źródło
Jeśli chcesz sprawdzić wersję tylko dla jednej, możesz to zrobić
Zauważ, że teraz tylko zainstalowane pakiety są domyślnie wyświetlane, a opcja zainstalowana jest teraz przestarzała.
źródło
Powyższa odpowiedź Iwana jest dobra:
composer global show -i
Dodano informacje: jeśli otrzymasz wiadomość podobną do:
Composer could not find a composer.json file in ~/.composer
... możesz nie mieć jeszcze zainstalowanych pakietów. Jeśli tak, możesz zignorować następną część wiadomości zawierającą:
... please create a composer.json file ...
... ponieważ po zainstalowaniu pakietu komunikat zniknie.
źródło
Jeśli chcesz zainstalować Symfony2.2, możesz zobaczyć pełną zmianę na swoim
composer.json
blogu Symfony .Po prostu zaktualizuj plik zgodnie z tym i uruchom
composer update
później. To zainstaluje wszystkie nowe zależności i Symfony2.2 w twoim projekcie.Jeśli nie chcesz aktualizować do Symfony2.2, ale masz błędy zależności, opublikuj je, abyśmy mogli Ci pomóc.
źródło
Czy istnieje sposób na uzyskanie go za pomocą $ event-> getComposer () -> getRepositoryManager () -> getAllPackages ()
źródło