Laravelの本番環境と開発環境の構築

さて、Laravelです。
今回は本番環境と開発環境の構築についてです。
…前にも挑戦したような気もするけど。
今回はとりあえず構築は出来たので共有します。

前提

本番環境とローカルの開発環境でphpとかmysqlのバージョンの違いをdockerで吸収したいじゃないですか?
色々と考えると、本番環境のバージョンに開発環境を合わせますよね。
そう考えると、

  1. 本番環境でcomposerでLaravelのバージョン指定しながらインストール
  2. gitにpush
  3. 開発環境でgitからpull
  4. 開発環境で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バージョンはアレなんですかね~。
分からんけど、備忘録として残しておきます。

コメント

タイトルとURLをコピーしました