tohokuaikiのチラシの裏

技術的ネタとか。

Laravel12+Inertia.js+Reactの足場をBreezeを利用して整える(2025年11月)

なんか、まぁ、いっつも似たことやってるけど、ホント1年前と同じ事やってもダメなんよね。

ということで、メモ。

Docker

いつもbitnami/laravelのイメージ使ってたんだけど、無くなってた(笑)。なんか、有料プランになるらしくって、とりあえず FROM bitnamilegacy/laravel:12.3.1 は置いておいてくれるんだけど、これもいつまで使えるかなーって。

で、npmも最新のにしておきたいのでDockerfileはこんな感じ。 *1

FROM bitnamilegacy/laravel:12.3.1
USER root
RUN npm install -g npm@latest

これもいつまで使えるかわからんから、時間ある時にLaravel用のPHP環境そろえたDocker作らないとダメですね。

dockerコンテナに入ってインストール

Breezeは便利なんだけど、アップデートのタイミングが遅すぎるのでどうもReactとかちょっと古いんですよね。

先にReactなんかをインストール

先にこのあたりの最新版をインストールしておく。後でもいいのかもしれない。

npm i -D react@latest react-dom@latest @types/react-dom @types/react @types/node@^24.6.0 axios@latest @types/axios vite @vitejs/plugin-react @tailwindcss/vite @inertiajs/react @vitejs/plugin-react typescript sass

Reactは結局viteでコンパイルするから-Dオプション付きでいいんじゃないかな。知らんけど。

Inertia.jsとBreezeをインストール

こんな感じ。

composer require inertiajs/inertia-laravel
php artisan inertia:middleware
composer require laravel/breeze --dev
php artisan breeze:install

で、breeze:install の時に、さっきのpackageを古いので上書きするよってWarningが出ます。

なので、さっきの npm i -D react@latest ... なんかを再度実行する。 これでもpackage.jsonには古いのいっぱいあるんじゃないかな、いや絶対あるやろ…って気になるが、npm audit でエラーが出なければまぁいいか。

*1:実際にはmariadbとmailpitも使ってるからcompose.yamlだけど。