125

ZF2 スケルトン アプリを使用していますが、外部ライブラリが git にコミットされるのを防ぐ .gitignore があります。デバッグ中、私はライブラリのソースのあちこちに行って変更し、どのように機能するかを学ぶのが好きです。これらがバージョン管理されていれば、元の状態に戻すのは非常に簡単です。

Composer に特定のフレームワークを強制的に再インストールして、変更されていない新しいコピーを再び取得するにはどうすればよいですか?

PS: .gitignore ファイルは何らかの理由でそこにあるため、削除することを提案しないでください。サードパーティのライブラリがアプリのリポジトリに入るのを防ぎます。自動展開中にいつでもインストールできます。

4

10 に答える 10

205

最初の実行composer clearcache

次に、ベンダーフォルダーをクリアします

rm -rf vendor/*

または、問題を引き起こす特定のモジュールを削除して、もう一度ダウンロードする必要がないようにすることをお勧めします。

于 2015-08-11T04:08:25.407 に答える
55

composerのフラグを使用--prefer-sourceして、VCS 情報 (利用可能な場合) を含む外部パッケージをチェックアウトできます。元の状態に簡単に戻すことができます。また、コマンド composer を発行するcomposer updateと、ローカルで行った変更が検出され、それらを破棄するかどうか尋ねられます。

.gitignore ファイルはルート プロジェクト (ZF2 スケルトン) に関連しており、ベンダー ディレクトリ (サード パーティのライブラリがある場所) が独自の VCS にコミットするのを防ぎます。無視ファイルは、ベンダーの git リポジトリとは無関係です。

于 2013-10-26T20:24:36.810 に答える
27

私がしたこと:

  1. その特定のライブラリのフォルダーを削除しました
  2. composer update --prefer-source vendor/library-name

gitリポジトリとともにライブラリを再度フェッチします

于 2016-12-13T17:41:28.343 に答える
1

Composer 2.1以降、できること

composer reinstall vendor/package

https://getcomposer.org/doc/03-cli.md#reinstallを参照してください

于 2021-11-24T15:44:54.917 に答える