Laravelを教えてみた(Getting Started編)
未経験のメンバーからLaravel教えてほしいと言われる機会を得たので、Laravelを使った開発のオンボーディングを考えてみることにしました。
まずは最小限の準備をして、ローカル起動するまでをやってみることにしました。
なんとかうまくいきましたが、やはり想定とギャップがあったのでまとめてみます。
やったこと
前提
対象者はこんな2名でした
- Sさん:社会人10年目、IT未経験
- MacOS
- Kくん:学生1年目、IT未経験
- Windows
zoomでつなぎながら進めました。
予定
こんな予定で考えていました。
- 事前準備
- composerのインストール
- パスを通す
- 「Laravelクイックスタート」を進める
-
composer create-project
でスケルトン作成 - そのまま
php artisan serve
する - WEBブラウザからアクセスして、welcomeページが見れることを確認
-
実績
最終的にこうなりました
- 事前準備
- zoomの権限設定
追加
- zoomで画面共有ができる設定を行う
- zoomの画面共有方法の説明
追加
- PHPのインストール
追加
(Kくんのみ) - PHPのパスを通す
追加
(Kくんのみ) - PHP.iniの設定変更
追加
(Kくんのみ)- fileinfoの有効化
- composerのインストール
- brewでインストール(Sさんのみ)
- インストーラを利用してインストール(Kくんのみ)
- パスを通す
- zoomの権限設定
-
「Laravelクイックスタート」を進める
-
composer create-project
でスケルトン作成 - そのまま
php artisan serve
する - WEBブラウザからアクセスして、welcomeページが見れることを確認
-
結果
いくつか想定とギャップがありました
zoomの権限設定が必要だった
- 事前準備
- zoomの権限設定
追加
- zoomで画面共有ができる設定を行う
→zoomで画面共有したことがなかったようで、設定のために再起動が必要になりました
zoomの画面共有方法の説明が必要だった
- 事前準備
︙
- zoomの画面共有方法の説明
追加
→画面全体を共有するのと、ウインドウだけ共有する2つの方法があることについて認識が祖語っていて、欲しい情報が見えるようにするためにちょっと手間取りました
PHPのインストールが必要だった
- 事前準備
︙
- PHPのインストール
追加
(Kくんのみ)- PHPのパスを通す
追加
(Kくんのみ)
→事前確認漏れでしたが、以下のサイトを参考にセットアップしてもらいました。
参考記事:
PHPのダウンロードとインストール - Windows10 - PHP入門 - Webkaru https://webkaru.net/php/windows-php-instal/
やったこと:
- PHPのインストーラをダウンロード
- インストーラを
c:\php
に展開して実行 - 環境変数Pathの設定
- PHPの動作確認
以下を実行してバージョンが表示されることを確認
$ php -v
php.iniの設定変更が必要だった
- 事前準備
︙
- PHP.iniの設定変更
追加
(Kくんのみ)
- fileinfoの有効化
→composer create-project
で次のエラーが出ました。
C:\Users\ユーザー>composer create-project laravel/laravel your-project-name --prefer-dist
Creating a "laravel/laravel" project at "./your-project-name"
Installing laravel/laravel (v8.5.21)
- Downloading laravel/laravel (v8.5.21)
- Installing laravel/laravel (v8.5.21): Extracting archive
Created project in C:\Users\ユーザー\your-project-name
@php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/framework[v8.40.0, ..., 8.x-dev] require league/flysystem ^1.1 -> satisfiable by league/flysystem[1.1.0, ..., 1.x-dev].
- league/flysystem[1.1.0, ..., 1.x-dev] require ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension.
- Root composer.json requires laravel/framework ^8.40 -> satisfiable by laravel/framework[v8.40.0, ..., 8.x-dev].
To enable extensions, verify that they are enabled in your .ini files:
- C:\php\php.ini
You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.
調べてみると、phpでfileinfoという拡張機能が有効化されていなかったので、処理に失敗していたようです。
php.iniを編集して有効化したところ、解決しました。
参考記事:
Laravel new でエラー | HABATAKIブログ@翔 https://habataki-blog.com/laravel-new-error/
やったこと:
- php.iniの場所を確認
C:\Users\ユーザー> php --ini
- php.iniを編集
before
;extension=fileinfo
after
extension=fileinfo
- コマンドプロンプトの再起動
その他
その他、全然詰まらずに系2時間ほどでローカルのwelcomeページが見れる状態になって逆にビビりました。
それから、間違って自分が超古い「Laravelクイックスタート」(v4.2)を使って進めてしまっていました。。
学び
再現性がありそうなノウハウをまとめてみますと、
- zoom等で画面共有できるかどうかは最初に確認しておく
- 途中で気づいたので時間をロスしました
- 参照するドキュメントのバージョンはよく確認する
- 「Laravelクイックスタート」を使って進めていましたが、間違って自分が超古いバージョン(v4.2) を使って進めてしまっていました。。(最もインパクトのあった失敗である。まじごめん。)
- WindowsユーザやMacユーザなどOSの多様性があると、予想しないケースが見つかりやすい
- ここに書ききれない細かい部分でサポートが必要でした。
おわりに
次は、welcomeページをいじってみたりとLaravelアプリの実装方法についてやっていこうと思っています。
なのでこのシリーズ続きます。
Discussion