Windows XAMPP 環境で Composer をアップグレードする

去年の10月に Composer 2 がリリースされましたが、アップグレードをしてこなかったのでやってみることにしました。

検索して出てきた方法としてコマンドですぐに完了するとのことだったのでコマンドを実行。

> composer self-update --2


  [Symfony\Component\Console\Exception\RuntimeException]  
  The "--2" option does not exist.


self-update [-r|--rollback] [--clean-backups] [--no-progress] [--update-keys] [--stable] [--preview] [--snapshot] [--set-channel-only] [--] [<version>]

あれ?

[Symfony\Component\Console\Exception\RuntimeException] The “–2” option does not exist.

エラーになってしまいました。

エラー文で検索したところ以下の記事がヒットしたので、そのコマンド実行。

> composer global update
Changed current directory to C:/Users/USERNAME/AppData/Roaming/Composer
Composer could not find a composer.json file in C:\Users\USERNAME\AppData\Roaming\Composer
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section

自身のユーザ名の下の AppData\Roaming\Composercomposer.json がないと? Composer の大本の設定のディレクトリですね。

とはいえ、 composer.json の中身をどうすれば良いのか……と思っていたところ、そういえばこの環境はインストーラからインストールしたことを思い出しました。

ということでおとなしくインストーラをダウンロードし直して実行。

「1つのPCに入れられる Composer は1バージョンのみなので、既存の Composer をアンインストールして」と言われました。

コンパネからアンインストール。 Roaming の設定は一応残しておきます。キャッシュは削除。

アンインストール完了直前に C:\Users\USERNAME\AppData\Local\Composer を手動で削除して、というメッセージが出たので手動削除。先程指定したキャッシュのようですが、アンインストーラから削除できなかったのか……。

アンインストール完了後、再度ダウンロードしたインストーラを実行。後はポチポチしていくだけ。

>composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.10.5 2020-04-10 11:44:22

before.

>composer -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.1.3 2021-06-09 16:31:20

after.

インストール完了しました。ひとまずOKそうです。

参考

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。