How to upgrade composer1.x -> 2.x
タイトルは英語だが内容は日本語だw(Φω|
Laravel6.xの初心者向けチュートリアルをまとめていて、プロジェクト作成
を実行したら、「バージョンが古いからアップグレードしろや」と警告
されたので、2.xにアップグレードする手順についてまとめる。
[手順]
1. swapファイルを1GBほど作成。
$ sudo su -
# dd if=/dev/zero of=/swapfile bs=1M count=1024
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile※作成結果を確認
$ free -m
2. 管理者権限に変更して以下コマンドをターミナルで実行。
$ sudo su -
# composer self-update --2
※ダウングレードする場合は以下コマンドをターミナルで実行。
# composer self-update --rollback target_version
(ex)1.10.15にダウングレード
# composer self-update --rollback 1.10.15
※ただし、アップグレードはできたのだが、Laravel6のプロジェクト以下に
./vendor/ がない上に、composer.jsonがないとか言われるんだが、これって
どう解決してたっけな?顔文字が変なリンクに変換されてる...
composer 1.xの時に特にcomposer.jsonは弄ってないので自動生成されていた
と思うのだが、2.xにアップグレードしてもcomposer.jsonは自動生成されない
ということなのか?(Φω|
composer.jsonがないことには、composer updateもcomposer installも実行
できない。それとも、上記コマンドでアップグレードしたバージョンでは
composer.jsonを自動生成しないのが正しいのか?
個人的には「ただの入れ忘れ(作成し忘れで入れ忘れ)にはらたいらに全部
だけどなー」
ただ実行速度を早めるためだけに他を無視しちゃいかんだろ?って思う。
3. composer.jsonを作成 or 過去のLaravelプロジェクトからコピーして改変。
※こちらがないと、updateもinstallもrequireも実行できないので注意が必要。
composerはインストール時もアップグレード時もいろんなところに
自身のディレクトリを作成して、どこがどこだか分からないのも問題だよなー。
[参考サイト]