さて、Laravelです。
今回は本番環境と開発環境の構築についてです。
…前にも挑戦したような気もするけど。
今回はとりあえず構築は出来たので共有します。
前提
本番環境とローカルの開発環境でphpとかmysqlのバージョンの違いをdockerで吸収したいじゃないですか?
色々と考えると、本番環境のバージョンに開発環境を合わせますよね。
そう考えると、
- 本番環境でcomposerでLaravelのバージョン指定しながらインストール
- gitにpush
- 開発環境でgitからpull
- 開発環境でsailを入れて本番と同じ環境を構築
こんな感じの流れになりました。
…合ってるのかな?
curl -s https://laravel.build/example-app | bash
こーするとsailありのLaravelを構築出来るけど、Laravelのバージョン指定が出来ない。
だからcomposerでバージョン指定する必要がある。
だって最新バージョンとか怖いやん。
だから本番環境にバージョン指定で導入して、それが動く開発環境をsailで構築する流れがベストかなーって思いましたマル。
本番にLaravelインストール
# composer create-project "laravel/laravel=9.*" projectname
バージョン9でインストール。
あとはgit管理下にしてgithubにでもpushしましょう。
開発環境側
git init
composer require laravel/sail --dev
エラー。
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
phpのバージョンが本番と開発環境で違うからエラーみたい。
分からんけど。
php artisan sail:install
こっちは?
アウト。
なんかautoload.phpでエラーになった。
なんだよ!
バージョン依存からの脱却の為のdockerを使う為のsailじゃないのかよ!
まぁ、最低限これは!ってのがあるんでしょうね。
諦めて開発環境のphpバージョンアップする事に。
sudo add-apt-repository ppa:ondrej/php
sudo apt-get install php8.1
まだ足りないので追加。
sudo apt-get install php8.1-xml php8.1-dom php8.1-curl
php-xmlとかだと駄目でした。
php8.1-xmlって明示的にバージョン指定しないと駄目みたい。
composer require laravel/sail --dev
php artisan sail:install
最後に.envがsampleからコピーなので暗号キーを作る!
php artisan key:generate
これで正常に表示されました。
開発環境(WLS2のUbuntu)のPHPバージョンはアレなんですかね~。
分からんけど、備忘録として残しておきます。
コメント