Laravel SailをWindowsにインストールする手順を分かりやすく解説していきます。
Laravel Sailによって、Dockerを使った開発環境を構築できます。
Dockerは、Linux環境で動きます。WindowsでLinux環境を使うには、Windowsが用意しているWSLか、あるいはVirtualBoxなどの仮想環境を用意する必要があります。
今回はLaravelの公式マニュアルにも掲載されているWSLを使う方法を説明していきます。
最後にLaravelプロジェクトを作成して、Laravelのトップページを表示させるところまで進めていきます。
つまづきやすい部分がいくつかあります。エラー対策も入れつつ、解説していきますね。挫折なく、インストールを進めていきましょう♪
※記事はWindows10とWindows11を使って検証した結果を記載しています。
動画編はこちら↓↓↓
エラー対策は、下記記事にまとめています。途中で困ったら、該当する項目がないかチェックしてくださいね。
https://biz.addisteria.com/laravel-sail-install-errors/
Laravel SailをWindowsにインストールする手順を分かりやすく解説
最初にWSLの最新版であるWSL2を入れ、そのあとUbuntuをインストールします。その後、Dockerを入れていきましょう。
①WSL2のインストール方法
まずはWSL2のインストールから進めていきましょう。
WSLとは、Windows Subsystem for Linuxの頭文字をとったもの。Windows上でLinux環境を実行するためにインストールします。
WSLを入れるには、Windows 10 バージョン 2004 以降 (ビルド 19041 以降) または Windows 11 を実行している必要があります。
詳細は下記公式ページをご確認ください。
インストール方法は下記のとおりです。
1.既にインストールされているかチェック
【Windows機能の有効化または無効化】を開き、【Linux用Windowsサブシステム】と【仮想マシンプラットフォーム】にチェックが入っていないことを確認します。チェックが入っていれば、既にインストール済みとなります。
チェックが入っていなければ、②へ進んでください。
【Windows機能の有効化または無効化】を開く方法が分からない時は、下記手順を踏んでください。
Windows機能の有効化または無効化の開き方
1.スタートメニュー/コントロールパネルをクリック。そこから左下のプログラムを選択。
2.プログラムと機能を選択
3. 左側の Windowsの機能の有効化または無効化を選択
2.Windows PowerShellを起動する
【Windows機能の有効化または無効化】を確認後、は、Windows PowerShellを起動します。
スクリーン左下のスタートメニュー/Windows PowerShellから起動します。
この時メニューを右クリックして「管理者として実行する」を選択します。
スクリーン下でアイコンが点滅するので、クリックします。
「このアプリがデバイスに変更を加えることを許可しますか?」と出てくるので、はいを選択して先に進みます。
3.wsl インストールコマンドを実行
PowerShell上で、下記コマンドを実行して wslをインストールします。
1 |
wsl --install |
インストール後、「システムを再起動する必要があります」と出たら、PCを再起動してください。
4.Ubuntuの設定
再起動後、Ubuntuのユーザー名を入れる画面が出てきます。
ユーザー名を入れた後、Enterキーを押します。その後パスワード入れます。Enterキーを押した後、確認用パスワードを入れていきましょう。
「Installation Successful!」と出ます。その後、再び再起動します。
エラーになる場合
再起動後、Ubuntuは立ち上がるものの「Error: 0x80370114 ??????????????」と表示されてエラーになってしまった場合は、【Windows機能の有効化または無効化】を開き、下記の黄色の部分にチェックをいれてください。
設定後、再起動を行います。再起動後、Ubuntuを立ち上げるとユーザー名を入れる画面が出てきます。
② Ubuntuのインストール
前述したとおり、WSL2を入れると、Ubuntuも一緒に入ってきます。ただ、もし再起動後にUbuntu画面が表示されず、Ubuntuがインストールされていない場合には、下記手順を行って、MicrosoftストアからUbuntuを入手していきましょう。
既にUbuntuが入っている場合は、次の ③ Dockerのインストール へ進んでください。
1.Microsoft ストアを開く
Microsoftストアを開くには、スクリーン左下の検索で【Microsoft Store】といれます。
2.Ubuntuを入手
Microsoftストアの検索語句で 「Ubuntu」を入れます。Ubuntuが表示されたら、入手ボタンをクリックします。
すると、ボタンが開くボタンに変わります。
3.ユーザー名とパスワードの登録
別画面が立ち上がり、しばらくすると【Enter new UNIX username】と出てきます。
ユーザー名をいれます。そのあとパスワードをいれるように出てくるので、パスワードも設定します。パスワードは確認用に、2回入れる必要があります。
③ Dockerのインストール
次にDockerのインストールです。
1.EXEファイルのダウンロード
下記から【Docker for Windows】ボタンをクリックし、インストール用ファイルをダウンロードします。
2. Dockerのインストール
ダウンロードしたファイルをダブルクリックして、インストールを進めていきます。
もし下記画面になった場合は、「Use WSL 2 instead of Hyper-V」にチェックが入った状態で、インストールを進めてください。
インストールが終わると、【Close and log out】ボタンが表示されます。
ボタンをクリックすると、PCが再起動します。
3. 利用規約を承認
再度ログインします。すると、Dockerの利用規約に関するお知らせが表示されます。
なかなか かわいい画面ですよね。
右下のAcceptボタンをクリックします。
サインアップするかきかれますが、【continue without signin】をクリックし、サインアップせず進みます。
ほか、色々でますが、スキップ(SKIP)していきます。
4. 設定変更
右上の歯車マークを押し、設定メニューを開きます。
まず Generalメニューをクリックします。Use the WSL2 based engine にチェックが入っていることを確認します。
次に 【Resources】をクリックします。すると下にメニューが表示されます。その中の【WSL Integration】をクリックします。 下記のようにバーを右側に引いて、Ubuntuを有効にします。
右下の Apply &Restartボタンを押します。
5. 無事にインストールできたかチェック
次に、再びWindows PowerShellを起動します。下記コマンドを入れます。
1 |
wsl --list --verbose |
これによって、使用可能な Linux ディストリビューションが一覧で出てきます。
無事にUbuntuとDockerが入っていれば、下記のように表示されます。
もし上記のように入っていない場合の対策をお伝えします。
エラー対策① WSLのVERSIONが1になっている場合
VERSIONが1となっていたら、WSL2ではなく、WSL1という以前のバージョンが入っている可能性があります。下記では、ubuntuが1となっています。
下記コマンドを実行して、バージョンを2にしておきます。
1 |
wsl --set-version ubuntu 2 |
実行後、再度 wsl –list –verbose を実行してバージョンが変わっているか確認しておきましょう。
エラー対策② WSLのSTATEがSTOPPEDになっている場合
STATEがStoppedになっている場合には、起動していない可能性があります。
DockerがStoppedの場合には、本記事で解説したとおり、 設定/WSL IntegrationメニューでUbuntuを有効にしてあるかチェックしてみてください。
④ Laravelプロジェクトの作成
それではいよいよ、Laravelのプロジェクト作成にはいっていきます。
1.プロジェクト作成
Ubuntuを起動して、下記コマンドを実行します。
1 |
curl -s https://laravel.build/test-app | bash |
すると、下記のようにLaravelインストール画面となります。
初回は、かなり時間がかかりました。
なので画面を見るのをやめて放置していたら、終わっていました。
2回目以降は、早くなります。
エラー対策① Docker is not runningと言われた時
Dockerを起動しているのに、プロジェクト作成時に ” Docker is not running “と出たら、”exit” を入力して、Ubuntuを閉じます。
その後、再度Ubuntuを立ち上げます。最初に su ユーザー名入力してユーザーを切り替えます。
1 |
su ユーザー名 |
パスワード入力を求められるので、パスワードを入れます。
無事ユーザーが切り替わったら、再度プロジェクト作成コマンドを入れてみましょう。
1 |
sudo curl -s https://laravel.build/test-app | bash |
エラー対策② プロジェクト作成コマンドを入れても無反応
この場合は、通信ができていない可能性があります。別記事で対策を解説しているので、見てください。
2. Laravel Sail起動
プロジェクト作成後、次のような画面がでてきます。
指示に従って、コマンドを入れていきます。
1 |
cd test-app && ./vendor/bin/sail up -d |
今作ったtest-appプロジェクトに移動して、さらにsailを立ち上げるという意味です。やや時間がかかります。
次にブラウザに http://localhost/ をいれます。
Table doesn’t exist や Connection refused といったエラーが表示された場合は、マイグレートを実行します。
1 |
./vendor/bin/sail artisan migrate |
画面を表示するとLaravelのトップ画面が出てきます。
じゃじゃん。
ついにLaravel画面がみれました♪
3.Sailをとめるとき
作業をやめたい時は、 cd test-app && ./vendor/bin/sail up -d を行ったUbuntu上で、下記を実行します。
1 |
./vendor/bin/sail stop |
もしnpm run devを行っている場合には、Ctrl+Cを押し、Laravel Viteを止めます。
Dockerは画面右下の通知領域から【Quit Docker Desktop】を選びます。
作業開始時はこの逆を実施します。つまり、Docker立ち上げ→Laravel Sail立ち上げ→npm run dev実施ですね。
なお、sail stopによってプロジェクトを停止できますが、完全に止める場合にはsail downコマンドを実行します。
BASHエイリアスを作ってSailコマンドの入力をラクにする
Laravelでは、通常コマンドを入力する場合には “php artisan” を最初に入れます。
ですがLaravel Sailの場合には、”./vendor/bin/sail”と入れていきます。これは、プロジェクトの中の /vendor/bin/sailを実行しているためです。
ただ、毎回 “./vendor/bin/sail”といれるのは、結構面倒ですよね。
そこで設定を変え、“sail”と入れるだけでコマンドが実行できるようにしましょう。
仮想空間のホームディレクトリに移動します。
.bashrcは隠しファイルです。表示されない場合は、隠しファイルが表示される設定にしておきましょう。
.bashrcファイルを開き、下記を末尾に1行追加します。
1 |
alias sail="./vendor/bin/sail" |
これでOKです。変更を反映させるために、下記を実行します。
1 |
source ~/.bashrc |
ここから先の記事では、コマンドの最初は “./vendor/bin/sail” ではなく、”sail” と入れていきますね。
豆知識
上記では.bashrcファイルにコードを追加する方法をご紹介しました。ほかに、.bash_aliasesファイルを作り、その中にエイリアス用の設定を入れる方法もあります。
どちらでもよいのですが、今回は初めてのプロジェクト作成なので、.bashrcファイルを編集する方法をおすすめします。
エイリアス情報が複数ある場合には、.bash_aliasesファイルを作成したほうが管理しやすいでしょう。.bash_aliasesファイルを作成する方法もご参考までに、ご紹介します。
まずは、 ./vendor/bin/sail stop コマンドでLaravel Sailをとめておきます。
① bash_aliasesの作成
Ubuntuでログインした場所で、下記コマンドを実行します。
1 |
vi ~/.bash_aliases |
② エイリアス情報を追加
ファイル編集画面になります。iキーを教えて編集モードにし、下記を貼り付けます。
1 |
alias sail="./vendor/bin/sail" |
Escキーを押した後に、:wq キーを押して保存します。
③ 設定の更新
下記コマンドを実行して、設定を読み込みなおします。
1 |
source ~/.bashrc |
④ Laravel Sailを立ち上げる
cdコマンドでプロジェクトの中に入り、sail up -dでLaravel Sailを立ち上げます。
さいごに
今回はLaravelトップページを表示するところまでとします。
次回は、phpMyAdminを進めます。さらにその先、Breezeパッケージのインストールといった部分を進めていきます。
下記のようなユーザー登録画面や、ログイン画面までつけていきましょう♪
コメント
Windows11のターミナルからubuntsuを起動して下記コマンドを実行すると、
ダウンロード先がWindowsから確認できません。
sudo curl -s https://laravel.build/test-app | bash
C:\Users\ookia\Sitesの下にtest-appを展開させるにはどうしたら良いでしょうか?
Windows11にDocker Desktpはインストール済みなので、Microsoftターミナルで自分の好む位置にtest-appを展開し、vendor/bin/sail up -dを実行させたいのですが、可能でしょうか?
よろしくお願いします。
色々設定を変えれば可能ではありますが、デフォルトではできません。
通常のドライブ内にプロジェクトを設置したい場合には、Laravel Sailではなく、XamppやMamp等を使う方法がやりやすいと思いますよ。