Laravelをインストールする方法3選
Laravelをインストールする方法を簡単に紹介します。
環境は、Windows11です。
コマンドをいっぱい叩くので、windowsユーザには少し難しいかもしれませんね。それでは、紹介していきます。
Laravelは、2023年2月14日にversion 10 になりました。皆さん楽しんでくださいね。
目次
Laravelをインストールする方法
Laravelをインストールする方法は3つあります。
- composerでインストール
- Laravel-Installerでインストール
- Laravel-sailをインストール
composerを使用してLaravelをインストールする方法
composerは、PHPで依存関係を管理するためのツールです。
インストール手順
- PHPをインストール
- composerをインストール
- Laravelをインストールするコマンドを実行
composer create-project laravel/laravel app-name
PHPのインストール
PHPを準備する方法はいくつか存在します。
私は、PHPとMySQLの学習の為、XAMPPを選択しました。XAMPPは、もっとも有名であろうPHPの開発環境です。
インストールが完了したら、PHPの動作確認としてコマンドラインからバージョン確認してみましょう。
> php -v
composerのインストール
composerは、PHPで依存関係を管理するためのツールです。
composer公式サイトよりDownloadして、インストールしてください。composer
composerのバージョンを確認してみましょう。
> composer -V
バージョンを確認するオプションは、「-v」「-V」と、各コマンドによって、大文字小文字の違いがありますので注意しましょう。
必要であれば、composer自体をupdateしておきましょう。
> composer self-update
Laravelのインストール
以下のコマンドを実行してください。app-nameは自由です。
> composer create-project laravel/laravel app-name
app-nameディレクトリにLaravelのフォルダ構成が準備され、必要なライブラリが保存されます。
Laravelが準備されたので動作確認をしてみましょう。
- cd app-name
- php artisan serve
- ブラウザで 120.0.0.1:800 にアクセスする
おしゃれな感じですね。
LaravelインストーラでLaravelをインストールする方法
Laravel-Installer自体はcomposerでインストールします
インストール手順
- composerでLaravel-Installerをインストールする
composer global require laravel/installer
- Laravelをインストールするコマンドを実行
laravel new app-name
Laravelが準備されたので動作確認をしてみましょう。composerでインストールしたときと同じ手順になります。
- cd app-name
- php artisan serve
- ブラウザで 120.0.0.1:800 にアクセスする
と、composerの時と同じように表示されているはずです。
Laravel-sailをインストールする方法
sailはDockerのImageで提供されています。
このImageには、Laravel、MySQL、Mailpitなどが入っています。
DockerはLinux上でしか動作しないので、windowsの場合はWSL2が必要になります。
- Power Shellをインストールする
- WSL2をインストールする
- Docker Desktopをインストールする
- Laravelをインストールするコマンドを実行
- curl -s https://laravel.build/app-name | bash
PowerShellのインストール
Windows への PowerShell のインストール – Microsoft
PowerShellのバージョンを確認してみましょう。そもそも起動時にバージョン表示されますけどね。
> $PSVersionTable
Name Value
---- -----
PSVersion 7.3.3
PSEdition Core
GitCommitId 7.3.3
OS Microsoft Windows 10.0.22621
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
補足
私の環境では、PowerShell version 5.1 が導入されていました。これを起動するたび「新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows」と、表示されていましたので、PowerShell version 7 をインストールしました。
WSL2のインストール
コマンドラインより次のコマンドを実行する
> wsl --install
デフォルトでUbuntuがインストールされます
Microsoft Storeより他のLinuxディストリビューションをインストール可能です。
バージョンを確認してみましょう。
> wsl --status
では、Ubuntuを起動してみましょう。
PowerShellのタブ横にある下向き矢印をクリックしてメニューを出します。
私の環境では、「Ubuntu 22.04.2 LTS」を選択します。
WSL2上でUbuntuが起動できましたね。
Ubuntuが起動しませんか?
起動しない場合、「windowsの機能の有効化または無効化」の項目を確認する必要があります。
- 「仮想マシンプラットフォーム」が有効になっていること
- 「Linux用Windowsサブシステム」も必要(恐らく)
- 「Hyper-V」は不要
「Linux用Windowsサブシステム」をOffにしても、WSL2上のUbuntu、Dockerは動作しました。ちょっとびっくり。これはWSL1を示しているようで、WSL2があればいいのかな?
補足)試しに、いくつかの機能をOFFにしてみます。
「仮想マシンプラットフォーム」が無効の場合。wsl2が動作しない。
「Linux用Windowsサブシステム」が無効の場合。エラーではないがWSL1が動作しない旨を示しているようだ。
補足
私の環境では、中途半端にWSLがインストールされていたようで、後述するDockerDesktopが起動できませんでした。たしか、画面に「wsl –update」を実行しろと表示されていた気がします。このコマンドを実行した後、DockerDesktopが正常に起動できるようになりました。
Docker Desktopのインストール
windows上で使用するDockerは、DockerDesktopと呼ばれます。
さて、公式サイトよりダウンロードしてインストールしましょう。
Laravel-sailをインストールする
DockerDesktopを起動して、Ubuntu上で次のコマンドを実行してください。
> curl -s https://laravel.build/app-name | bash
動作確認をしてみましょう。
cd app-name
./vendor/bin/sail up
http://localhost/ にアクセス ...Ctrl+C で終了します
実行時にパーミッションのエラーが発生する場合は、次のセクションをお読みください。
Laravel-sailでパーミッションエラーの回避方法
実行時のパーミッションエラーの回避方法を説明します
私の環境でsailで構築したLaravelではパーミッションエラーが多発してしまいます。
Ubuntuに「root」でログインしていますが、WSL2上でこれが普通なのかちょっとおかしいのかわかりませんがこのへんが原因です。
回避する方法を2つ見つけましたので説明いたします。
①エラーが発生したディレクトリのパーミッションを緩くする
例えばsail環境でLaravelを起動した場合以下のエラーが発生します。
The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened
in append mode: Failed to open stream: Permission denied The exception occurred
while attempting to log: The stream or file
以上のように「storage」ディレクトリ配下に.logファイルを作成する権限がありませんとのことです。
では、ディレクトリ権限を変更します。
chmod -R 777 ./storage/
ガバガバ設定ですが、これで動作します。
この後は、パーミッションエラーが発生する度にディレクトリ権限を緩和していきます。
以下の様にファイルを生成するコマンドの度エラーが発生します
- sail test
- sail artisan sail:publish
- sail artisan make:controller SampleController
- sail artisan make:migration create_tests_table
Appディレクトリごと全てのファイルの権限を緩和もできますが、逆にmysqlの操作あたりで、ファイルの権限が緩すぎますよとエラーが発生しますので注意です。
②appディレクトリの所有者を変更する
エラーの原因は、appディレクトリの所有者が「root」であり、実行時のユーザが「sail」で操作権限が無いことが原因と思っています。(linuxは詳しくない)
所有者をユーザsailに変更します。appディレクトリに移動後以下のコマンドを実行
sail root-shell
chown sail:sail -R .
exit
sailというユーザはWSL側にはおらず、docker-container側のsail環境にいます。
なので、一度container側にrootでログインして、所有者を変更しています。
WSL側に戻ったら、ls -la などでファイル所有者を確認してみましょう。
*誤記訂正 2023.4.13
chmod sail:sail -R .
↓
chown sail:sail -R .
参考資料
The PHP Framework for Web Artisanshttps://laravel.com/
Laravel Documenthttps://laravel.com/docs
Laravel関連パッケージ最新日本語ドキュメントhttps://readouble.com/laravel/
Laravel Versionshttps://laravelversions.com/ja