Help us understand the problem. What is going on with this article?

【Windows10】Laragon で Laravel8 (Jetstream + Inertia + Vue) を動かす

Windows環境でLaravelを動かすには色々と方法がある。

  • Homesteadを使って仮想環境を立てる(公式推奨?)
  • Dockerを使う
  • XAMPPでPHPを動かす
  • etc ...

今のトレンドだとDockerで環境ごと保存するのが一番?
でも個人的に準備などが面倒臭くて手が出しにくい…
(立ち上げるのが面倒だったり、リソースを食い散らかしたり...)

Nodeみたいにローカルで開発できないかなぁ...
XAMPP使うかぁ?という時に Laragon というものを見つけた。

  • 様々な言語に対応(PHP, Node.js, Python, Java, Go, Ruby)
  • 内部でDBを立ち上げて管理してくれる(mysql, PostgreSQL, mongoDBなど)
  • SSLに対応(証明書は無い?)
  • 環境変更はボタン一つ
    • 新しい構成を追加することも可能
  • ポータブルな設計なので移動が簡単
    • 要らなくなったらフォルダ削除でOK
    • 追加も配置するだけ
    • データもプログラムも
  • 滅茶苦茶早くて軽い
    • 本当に秒で起動する
    • フルインスコで130MBのディスク使用量
    • 実行時のメモリ使用量も4MB未満らしい
  • 設定でhostsを自動的に書き換えてくれる
    • ***.testのリンクを作成(デフォルト)
  • ngrokを用いたローカルデータの一時的な公開が可能
    • 40 connections / minute

と使わない理由が無い内容だったので、折角なのでLaravel8の開発環境で採用してみた。
(個人的にhosts書き換えがGOD)

以下のソフトウェアの使用が強制されるのが注意点?
アップデートで使用するソフトウェアを切り替えれるようになると神になると思う。

公式サイト
Laravel - ウェブ職人のためのPHPフレームワーク
Laragon - portable, isolated, fast & powerful universal development environment for PHP, Node.js, Python, Java, Go, Ruby.

Introduction | Laravel Jetstream
Inertia.js - The Modern Monolith

Laragon のインストール

Download | Laragon

上記リンクからLaragonをインストールする。
LiteはNode系が無いバージョンだが、後で簡単に追加できるのでお好みで。
(今回はLaravelでVueを使用したいのでProを採用(Liteだとコンパイルできない...))

image.png

  • 起動
  • 「▶全て開始」をクリック
  • 「🌏ウェブ」をクリックしてLaragonのページが開けたら成功 image.png

Laravel8 のインストール

  • 「右クリック」>「クイックアプリ作成」>「構成」をクリック
  • 勝手にNotepad++が起動する(いつの間に入ったんだろ...)
    • Laravel8=composer create-project "laravel/laravel=8.*" %s --prefer-dist を追記
    • ver 8に固定させるため一応...
  • 「右クリック」>「クイックアプリ作成」>「Laravel8」をクリック
  • 「右クリック」>「www」> 「<作成したプロジェクト名>」を選択
  • Laravelのページが開けたら成功

php artisan serve は必要ない。(そのためのLaragon)
image.png

以下のエラーはPHPのversionが足りてないので最新のを取ってくる。

[InvalidArgumentException]
Could not find package laravel/laravel with version 8.* in a version installable using your PHP version 7.2.19.
  • Laravel8の必要環境はPHP >= 7.3
  • Laragonのupdateはzipを持ってくるだけでOK
  • 以下のリンクからPHPのzipを落とす
    • https://windows.php.net/download
    • 初期に入っていたのはx64のThread Safety版だった
    • zipを解凍して「%laragon%/bin/php」に置く
    • 「右クリック」>「PHP」>「バージョン[xxx]」>「<導入したversion>」を選択
    • リアルタイムに環境が更新されるはず

Laravel Jetstream(Inertia) の導入

DBやjavascriptとの連携を確認したいので認証のテンプレまで入れてみる。
従来の認証周りは8ではJetstreamが担うらしい。
Introduction | Laravel Jetstream

Jetstream では2つのフロントエンドスタックがある。

今回はVueを使いたいのでInertiaを選択。

  • 「◼ターミナル」をクリック
  • 勝手にCmderが開く
cd <プロジェクトdir>

// インストール
composer require laravel/jetstream
php artisan jetstream:install inertia

// DB構築
php artisan migrate

// nodeセットアップ
npm install
npm run dev
  • Laravelのページの右上に login / register が表示されていれば完成

image.png

以下のエラーはデータベースが存在しないので作成しよう。

Illuminate\Database\QueryException
SQLSTATE[HY000] [1049] Unknown database 'laravel'
  • Laragonの初期設定ではプロジェクト名のデータベースが作成される
  • root / no password

所見

適当に垢作ってログインするとテンプレートのダッシュボードが表示される。
標準で二段階認証やセッション管理、API tokenなどが用意されているのは流石。
新たにTeamというroleみたいな仕組みがあるらしいが調査中。

image.png

このように手軽に遊んだりテストしたりにはLaragonは最適かもしれない。
仮想環境と別の手段として覚えておいても良いかも。
Laravelいいよ!Laragonいいよ!
(Laragonの由来ってもしかしてLaravel…?)

mabasasi
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした