0

composer.phar でベンダーを更新しようとすると、次の致命的なエラーが発生します。

$ php bin/composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files

Fatal error: Interface 'Metadata\AdvancedMetadataFactoryInterface' not found in /sf2path/vendor/jms/metadata/src/Metadata/MetadataFactory.php on line 26
PHP Fatal error:  Interface 'Metadata\AdvancedMetadataFactoryInterface' not found in /sf2path/vendor/jms/metadata/src/Metadata/MetadataFactory.php on line 26

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception

[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command.

昨日、クリーン インストールを作成したところ、自宅のマシンで動作しました。また、典型的な symfony ディレクトリ (app/cache、web、vendor...) 用の .gitignore ファイルを追加しました:

/web/bundles/
/app/bootstrap*
/app/cache/*
/app/logs/*
/vendor/
/app/config/parameters.yml

リポジトリからプルすると、明らかにベンダーが見つからないので、単純に更新すると思ったのですが、上記のエラーが発生しています。

ここに私のcomposer.jsonがあります:

"require": {
    ...
    "jms/metadata": "*",
    "fpn/doctrine-extensions-taggable": "dev-master",
    "fpn/tag-bundle": "dev-master",
    "jms/serializer-bundle": "dev-master",
    "friendsofsymfony/rest-bundle": "dev-master",
    "friendsofsymfony/user-bundle": "*",
    "friendsofsymfony/comment-bundle": "*"
},

Google は実際には役に立たないので、ここにいる誰かが同じ問題を抱えていて、解決策を見つけたのかもしれません。

4

1 に答える 1

0

どうやってベンダーを台無しにしたのかわかりません。インストールしたら、すべてのマシンで実行できるようになったと思いましたが、とにかく何かが壊れたようです。Git リポジトリから欠落しているクラスを含めた後、Twig クラスが欠落しているという別の問題が発生したため、すべてを台無しにして、すべてのベンダーを再インストールしました。とても単純な質問を削除する必要があるかもしれませんが、別の人がそれを探している可能性があるかもしれません-簡単な答えは次のとおりです。

すべてのベンダーを削除し (存在する場合)、次のように再インストールします。

$php composer.phar install

これにより、すべてのベンダーの新規インストールが開始されます。(私の場合、更新のみを行いました)

于 2013-04-17T06:35:38.723 に答える