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"を押せば、運が良ければ現状維持できるかもしれません。(アップデートの内容によっては、上手くマージできないかもしれないので、本当に行う場合はバックアップを取った方が良いでしょう)
こちらもおススメ