2016-09-05 8 views
0

私は開発サーバーで完全に動作するSymfony(2.8.9)のコピーを扱っています。Symfony - ダウングレードマイナーバージョン

私は、このサーバが引き出したのと同じリポジトリをローカルの更新された作曲家に複製し、Symfonyインストーラを実行しました。私はエラーを取得開始しました:

You have requested a synthetic service ("request").

私は少し研究を行なったし、ここに報告されたように、これはsymfonyの、2.8.10、次のバージョンのバグであることが判明:

https://github.com/symfony/symfony/issues/19840

私は2.8.10で修正されたバグを待つつもりですが、その間に2.8.10から2.8.9にダウングレードできるので、ローカルコピーが実行され、開発サーバーのコピーと一致します。

私はcomposer.jsonのバージョン番号の変更に関する記事を見ましたが、Symfonyに関連するすべての番号はマイナーバージョン番号を除いて「2.8」と表示されます。さらに、私のcomposer.jsonファイルは、私のdevサーバーとローカルの両方で一致します。

composer.json依存関係の最後にマイナーバージョン番号「.9」を追加し、コンポーザーに依存関係をインストールする必要がありますか? Symfony関連の依存関係だけにマイナーバージョン番号を追加して、他のすべての依存関係を正しく動作させることができますか、それとも変更しなければならない他のバージョン番号もありますか?私のアプローチは正しいのですか?これを完全に行う別の方法がありますか?

+0

"または" symfony/symfony "のバージョンを強制することができます:" 2.8.9 "'実際に – COil

答えて

4

あなたのcomposer.jsonに一つだけの行を編集することができます。

"require": { 
    ... 
    "symfony/symfony": "2.8.*, !=2.8.10", 
    ... 

この方法は、あなたがその特定のバージョンを避けるために作曲を教えてください。その他の依存関係はすべて自動的に取得されます。

重要:Composerは避けようとしているのと同じバージョンにロックされていると不平を言うため、まずcomposer.lockファイルを削除する必要があります。

免責事項:バックアップとテストが最初です。 symfonyの基本インストールをテストしましたが、他のパッケージが不平を言うかどうかはわかりません。

+0

これが私の問題を完全に解決しました。ありがとう! – carbide20