[PHP]composer updateでDiscard changes [y,n,v,s,?]が表示されたときの対処法

カテゴリ: composer

Composerでcomposer updateコマンドを実行したとき、下記のプロンプトを表示されて、更新作業が止まる場合があります。

> composer update

...
Discard changes [y,n,v,s,?]

これは、vendorフォルダの中身をローカルで変更してしまったときに発生します。
vendorを中身が書き換わった状態で、パッケージをアップデートすると変更内容が消失してしまうため、上書きしてよいかの確認処理です。

ここで"?"を入力してEnterを押すと、ヘルプが表示されます。

y - discard changes and apply the update
n - abort the update and let you manually clean things up
v - view modified files
s - stash changes and try to reapply them after the update

それぞれのコマンドの意味は、下記の通りです。

y - ローカルの変更を破棄して上書きアップデートを行う
n - 処理を中断する(自分で変更を戻した後、再度composer updateを実行します)
v - 変更されがファイルを確認する
s - 変更を避けておいて、アップデート後に変更を再適用する

対処法

とりあえずよくわからない場合は、"n"キーを押せば処理を中断できます。

何を変えたか心当たりがない場合は、"v"キーを押して変更内容を確認します。
動作確認用のデバッグログ追加など、破棄して良い変更内容だったら、さらに"y"キーで変更を捨ててしまいます。

必要な修正パッチだった場合は、該当の変更をオリジナルのパッケージへ適用します。自分が管理しているパッケージなら自分で変更を行い、そうでなければプルリクエストを送ったり、forkして別パッケージを作ったりします。

決定を先送りしたいばあいは、"s"を押せば、運が良ければ現状維持できるかもしれません。(アップデートの内容によっては、上手くマージできないかもしれないので、本当に行う場合はバックアップを取った方が良いでしょう)

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。