2012-03-16 13 views
7

depsファイルを手動で更新しての最新版を入手することは可能ですかDoctrine 2.2?新しいPaginatorコンポーネントを使用したいと思います。Symfony2 depsファイルを手動で更新してDoctrine 2.2を入手しますか?

[doctrine-common] 
    git=http://github.com/doctrine/common.git 
    version=2.2.1 

[doctrine-dbal] 
    git=http://github.com/doctrine/dbal.git 
    version=2.2.1 

[doctrine] 
    git=http://github.com/doctrine/doctrine2.git 
    version=2.2.1 

deps.lockを削除し、実行します:

php bin/vendors update 

あなたはそれがうまくいくと思いますので、基本的に私はdepsを微調整するために考えていましたか?

EDIT:あなたは明らかに不安定なコードを得るために危険に身を入れているdeps.lockファイルを除去することによりhttp://pastebin.com/FEDMNhii

答えて

8

私の意見では、gildenで提案されているすべての作業は不要で、慎重すぎるものです。もちろん、depsファイルを手動で更新することもできます。 symfony 2.0.11でDoctrine \ Common(2.2.1)、Doctrine \ DBAL(2.2.1)、Doctrine(2.2.1)を問題なく実行しています。それはあなたが(通常は)心配する必要はライブラリではありません

、それは特定のバージョンを必要とライブラリを利用そのバンドルです。例えば、Symfony2はDoctrineのどのバージョンにも直接依存しませんが、DoctrineBundleはそうです。

バンドル/ライブラリをアップグレードする前に、通常、必要な依存関係をPackagist.orgにチェックアウトすることをお勧めします。アップグレードするパッケージを検索し、必要な依存関係を確認します。 注:ベンダーライブラリの管理にはComposerを使用するため、Symfony 2.1ではこれは必須ではありません。

あなたが試していない限り、あなたのインストールで何かが動作するかどうかは分かりませんが、もちろん、愚かなことはしないでください。しかし、ベンダーのライブラリを更新することで何かを壊す恐れはありません。 Gitにコードを格納すれば、簡単に変更を元に戻すことができます。参照:How to create and store a Symfony2 project in Git


また、depsversion=#.#.#を指定するとき - あなたはすべてのdeps.lockファイルを持っていない場合でも、あなたがリポジトリにGitのタグを指定しているので、あなたは常に同じコミットハッシュを取得します。

バージョン番号を提供するのではなく、いくつかのバンドルでは、複数のSymfonyバージョンとの互換性を管理するためのさまざまなブランチが用意されています。したがって、version=origin/2.0のようなものがあります。これは、ベンダースクリプトが、リポジトリのブランチ2.0の最新のコミットをチェックアウトすることを意味します。メンテナーは、ほとんどの場合、そのブランチをSymfony 2.0.xと常に互換性を保つようにしようとします。

+0

いい説明、+1。 Btw、Symfony 2.1が利用可能になるのはいつですか? – gremo

-1

:ファイルは次のようになります。

私は何かを壊す危険性を最小限にするには、次の手順を使用しています

  • あなたはdeps.lock
  • GitHubのからコミットハッシュを探すからアップデートしたいコンポーネントの現在のコミットハッシュを書き留めそれを書き留めます。
  • コンポーネントのディレクトリに移動し、git checkout [commit]と入力します。[コミット]は新しいハッシュです。
  • キャッシュをクリアし、サイトがまだまだ機能していることを確認します。
  • deps.lockに新しいコミットハッシュを貼り付け、

bin/vendors installは、私は強く反対助言を覚えておいてください実行します。あなたは物事を台無しにすれば、あなたはあなた自身の上にあり、あなたを助ける人は誰もいません。

+0

ありがとうございました。私は新鮮なインストールの簡単なテストを行い、すべてがうまくいくように見える(エンティティの生成、クエリなど)。しかし、アドバイスをいただきありがとうございます。 – gremo

+1

depsとdeps.lock(またはgitを使用して)を保存するだけでなく、何かが壊れた場合には、変更を元に戻してベンダーを再度更新してください。 deps.lockに指定されているすべてのものをダウンロードする必要がありますか? – Sgoettschkes

+0

災害の際にdeps.lockを保存して復元できるときに、このアドバイスは過度に慎重で複雑なようです。 – user1207727

関連する問題