Laravel7をインストールした記録
2021年02月13日
Laravel7をインストールするのに、エラーが出たりして微妙に苦労したのでメモ。
環境
CentOS
php7
以前別のプロジェクトで同じサーバにLaravelを入れていた(5系)
まずは、手順に従って、Laravelをインストールしようとした
composer global require laravel/installer
するとエラーが
SHA384 is not supported by your openssl extension, could not verify the phar file integrity
調べてみると、composerのバージョンが古いためにLaravel7系の場合は合わないらしい。
composerの最新のバージョンは1系、Laravelは7系。
これが駄目ってことか。
というわけで、composerのバージョンを最新版の2系にバージョンアップ。
この記事を参考にcomposerの再インストールを実施しました。
composerのダウンロードとインストールは、公式の記事を参考にしたらいいと思います。
結果、composerのバージョンは最新の2系になりました。
composer -V
Composer version 2.0.9
そして、再度Laravelのインストールコマンドを実行
すると、今度はまた別のエラーが
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
エラーの内容は、最初見てよくわからなかったのですが、最終的に分かったこととしては、今回実行しようとしている
composer global require laravel/installer
というコマンドは、Laravelのインストーラーを作成するコマンドであって、それが同じサーバにすでに作成していたLaravelのプロジェクト(5系)の作成時にすでに設置していたLaravelのインストーラーがあり、その設定ファイルのcomposer.jsonとcomposer.lockと内容が競合しているというような意味だったみたいです。
上記の過去プロジェクトはもうすでに更新してないサイトだったのもあり、過去に作成したインストーラーを、一旦リネーム(削除するのは何か怖かったのでリネーム)することで、上手く設置することができました。
Laravelのインストーラーは、サーバの設定により異なりますが、自分の環境の場合は
/home/.config/
以下がそうだった(それ以下にLaravelのインストーラーが入っていた)ので、上記フォルダをリネーム後にサイド実行することで、上記ディレクトリが新しく作成され、そこにLarvel7に必要だったcomposer.json、composer.lockも新しく作られました。
そして、Laravelのインストールを実行
laravel new プロジェクト名
しかし、以下のエラーが・・・
bash: laravel: コマンドが見つかりません
調べてみると、Laravelのインストーラーへのパスが通ってないみたいで、ホームディレクトリの.bash_profileにパスを設定しないといけないらしい。
しかし、確認するとすでにパスの記述がある・・・。だとするとなぜ?
source .bash_profile
をすることで読み込まれたみたいで、無事Laravelのプロジェクトを作成することができました。
Laravelのドキュメントルートにアクセスするとエラーが
The stream or file “/storage/logs/laravel.log” could not be opened in append mode: failed to open stream: Permission denied
調べるとアクセス権がないとかうことみたいで、
chmod -R 777 storage
で解決。755でいけるとか書いてたけどどうにもならず、777にしたらいけました。