既存のLaravelアプリの開発環境(docker)を起動

2023/01/15に公開

新規作成の場合、マニュアル通りに行けました。
それから、別の端末で、Gitにコミットした既存のアプリに対して、開発環境を起動するにはどうしたら良いでしょうか?

その手順を纏めます、ご参考になれたら幸いです。

  • dockerを起動
  • リポジトリをclone
  • composer関連をインストール
docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    laravelsail/php82-composer:latest \
    composer install --ignore-platform-reqs

※参考

  • .envファイルを準備
    オフィシャルでは、.envをignoreしていて、git上にはないので、各自の方法で管理しています。
  • コンテナを起動(sail up)
./vendor/bin/sail up
  • テーブルのmigrate
./vendor/bin/sail artisan migrate
  • vite development serverを起動
./vendor/bin/sail npm install && ./vendor/bin/sail npm run dev
  • エラー解消のために、

一時対策:

public/hotを編集
0.0.0.0 -> localhost

http://localhost:5173

永久対策:
server.hmr.hostを指定

vite.config.js
export default defineConfig({
    server: {
        hmr: {
            host: 'localhost',
        }
    },
    plugins: [
        laravel({
            input: 'resources/js/app.jsx',
            refresh: true,
        }),
        react(),
    ],
});

これがないと、画面真っ白で、コンソールに以下のようなエラー

Failed to load resource: net::ERR_ADDRESS_INVALID 0.0.0.0:5173/@vite/client:1

※参考

  • ブラウザで http://localhost を開いて、画面がエラーなく正しく表示されました。🚀

以上です。

Discussion