Windows 10にインストールした composer の global環境で、ブランチの master, main や開発版がインストールされます。
Linuxではそんなことないのに。
composer.jsonで確認したところ、設定がそうなってました。
ここ数年、Windows 10にインストールしたcomposerのパッケージを更新してなかったので、久しぶりにアップデートしました。
すると、パッケージのバージョンがこうなっている。
正式版じゃなくてGitのブランチ(master, main)や開発版(***-dev)が多くなってる。
composer.jsonファイルを確認したら設定がそうなってました。
'minimum-stability' が 'dev' になってるので、まだリリースされてない最新版がインストールされたもよう。
念の為、Linux環境のglobalを確認したらこの記述はない。ということでこれを削除。
'minimum-stability' の未指定(デフォルト)は 'stable' でリリース版です。
パッケージのバージョンも最新版をダウンロードするように変えときます。そうしないとエラーが出るから。
エラーの内容は、リリース版をインストールするのにバージョンはそうじゃないものになってるよ? というもの。
改めて、全パッケージをまとめてアップデートしたらこうなります。
ぜんぶ、リリース版に変わりました。
Windowsでの global はスタビリティのデフォルトが 'dev' ?
ボクは、minimum-stability の設定を変えた記憶がありません。てっきりLinuxとWindowsは同じだと思ってました。
設定を変えたのを忘れてる可能性もあるので断定はできませんが、もし同じようなことになったら、composer.jsonを確認しましょう。
というか、Gitのmaster, mainブランチはcomposerでは開発扱いするというのを初めて知りましたが、考えてみればそうなります。
composerはGitのブランチではなくタグを見ています。そのタグ名にバージョンを入れることでパッケージのバージョンを理解する。
タグ名は、*.*.* か、頭にvを付けて v*.*.* の形式で書くことになってる。
ただオリジナルのタグ名でも、composerでのインストール時のバージョン指定でタグ名を指定すればインストール可能。
このあたりのルールは、composerでインストールできるパッケージを自作するときに覚えることです。
まだ作業したことがなくても知っていて損はないですよ?