私は自分のローカルマシンでSymfony 2.1を使ってプロジェクトに取り組んでいます。サーバーにアップロードしましたが、Composerを使用してベンダーバンドルをインストールしようとすると、多くの依存関係エラーが発生します。おそらくこれは、リリースされたばかりの最新バージョンのSymfonyと、正確なバージョン番号を指定していない私のcomposer.json
ファイルと関係があるのでしょう。
ローカルマシン上のすべてのバージョン番号を素早く表示する方法はありますか?
これが私のcomposer.jsonファイルです(数日前まではうまくいきました)。
{
"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 show -i
を実行することができます(--installed
の略)。
最新版ではcomposer show
を使うだけです。
-i
オプションは推奨されなくなりました。
global
という作曲家のインスタレーションを使用することもできます。composer global show
グローバルにインストールされた作曲家パッケージを一覧表示するには:
composer global show -i
このコマンドの動作は変更されたので、-i
オプションを渡す必要はありません。
[10:19:05] coil@coil:~/workspace/api$ composer show -i
You are using the deprecated option "installed".
Only installed packages are shown by default now.
The --all option can be used to show all packages.
インストールされている依存関係を一覧表示します。
composer show -i
composer show -i -t
-i
は--installed
の短縮形です。
-t
は--tree
の短縮形です。
上記のIvanの答えは良いです。
composer global show -i
情報を追加しました。
Composer could not find a composer.json file in ~/.composer
...まだパッケージがインストールされていない可能性があります。もしそうなら、あなたはメッセージを含む次の部分を無視することができます:
... please create a composer.json file ...
パッケージをインストールするとメッセージが消えます。
バージョンを1つだけ確認したい場合は、次のようにします。
composer show -- twig/twig
インストールされているパッケージのみがデフォルトで表示されるようになり、インストールされているオプションは非推奨になりました。
あなたがSymfony2.2をインストールしたいのなら、あなたのcomposer.json
Symfonyブログにあります で完全な変更を見ることができます。
それに従ってあなたのファイルを更新し、その後composer update
を実行してください。これであなたのプロジェクトにすべての新しい依存関係とSymfony2.2がインストールされます。
あなたがSymfony2.2に更新したくないけれども依存関係エラーがあるならば、あなたはこれらを掲示するべきです、それで我々はあなたをさらに助けることができるように。