前提
- UbuntuをインストールしたWindows端末
- Windows端末にDocker Desktopをインストール済
- Laravel Sailを使いたい
参照
目次:
- 最新版Laravelをインストールする
- Laravelのバージョンを指定してインストールする
最新版Laravelをインストールする
手順
- example-appと書かれた箇所は、お好きな名前に変えてください。
- /home/appと書かれた箇所は、あなたの既存ディレクトリに読み替えてください。
1. Ubuntuのコンソール画面を開く(以下はコンソール画面での操作です。)
2. カレントディレクトリ設定(既存のパスを指定してください。)
cd /home/app
3. Laravelインストールコマンドを実行
curl -s https://laravel.build/example-app | bash
/home/appディレクトリ下にexample-appというディレクトリが作成され、そこにLaravelがインストールされます。
4. Ubuntuのスーパーユーザーのパスワードを求められる場合はパスワードを入力
[sudo] password for ******:
5. 以下のような表示が出ればインストールが正常に終了
Thank you! We hope you build something incredible. Dive in with: cd example-app && ./vendor/bin/sail up
6. Sailを起動
cd example-app
./vendor/bin/sail up -d
マニュアルには'-d'オプションが記されていませんが、その通りにするとプロンプトが戻ってこないので、'-d'オプションを追加してます。
7. データベースの構造を設定
./vendor/bin/sail artisan migrate
8. Laravelによるシステム画面の表示を確認
WEBブラウザを起動して下記URLにアクセスして、Laravelの画面が表示されることを確認します。
http://localhost
9. パソコンの電源を落とすときは
前の6.で-dオプションを付けてsailを起動させている場合、Sailを停止させておいたほうが良いと思います。
./vendor/bin/sail stop
-dオプションを付けずにSailを起動させた場合はコンソール上でCTRL+cで停止します。
Laravelのバージョンを指定してインストールする
手順
- example-appと書かれた箇所は、お好きな名前に変えてください。
- /home/appと書かれた箇所は、あなたの既存ディレクトリに読み替えてください。
1. Ubuntuのコンソール画面を開く(以下はコンソール画面での操作です。)
2. カレントディレクトリ設定(既存のパスを指定してください。)
cd /home/app
3. Laravelインストールコマンドを実行
composer create-project "laravel/laravel=10.*" example-app
/home/appディレクトリ下にexample-appというディレクトリが作成され、そこにLaravelがインストールされます。
4. Ubuntuのスーパーユーザーのパスワードを求められる場合はパスワードを入力
[sudo] password for ******:
5. 以下のような表示が出ればインストールが正常に終了
laravel/sail .................................................................................................. DONE
laravel/sanctum ............................................................................................... DONE
laravel/tinker ................................................................................................ DONE
nesbot/carbon ................................................................................................. DONE
nunomaduro/collision .......................................................................................... DONE
nunomaduro/termwind ........................................................................................... DONE
spatie/laravel-ignition ....................................................................................... DONE
82 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
No security vulnerability advisories found
> @php artisan key:generate --ansi
INFO Application key set successfully.
6. Sailを起動
cd example-app
./vendor/bin/sail up -d
-bash: ./vendor/bin/sail: No such file or directory
残念ながらバージョン指定でインストールした場合、sailはインストールされませんでした。
以下のようにしてLaravel Sailをインストールします。
Laravel Sailのインストール
手順
- /home/app/example-appと書かれた箇所は、あなたのLaravelアプリのディレクトリに読み替えてください。
1. Ubuntuのコンソール画面を開く(以下はコンソール画面での操作です。)
2. カレントディレクトリ設定
cd /home/app/example-app
3. Laravel Sailパッケージを格納
composer require laravel/sail --dev
4. 以下のような表示が出ることを確認
laravel/sail .................................................................................................. DONE
laravel/sanctum ............................................................................................... DONE
laravel/tinker ................................................................................................ DONE
nesbot/carbon ................................................................................................. DONE
nunomaduro/collision .......................................................................................... DONE
nunomaduro/termwind ........................................................................................... DONE
spatie/laravel-ignition ....................................................................................... DONE
82 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
No security vulnerability advisories found
Using version ^1.32 for laravel/sail
5. Laravel Sailをインストール
php artisan sail:install
以下のように、使いたいサービスの選択を求められる。
┌ Which services would you like to install? ───────────────────┐
│ › ◼ mysql ┃ │
│ ◻ pgsql │ │
│ ◻ mariadb │ │
│ ◻ redis │ │
│ ◻ memcached │ │
└────────────────────────────────────────────────── 1 selected ┘
上下矢印キーで対象行に移動させて、ブランクキーで選択・非選択を切り替えます。
選択し終わったらエンターキーで処理を続行させます。
6. 以下のような表示が出ることを確認
INFO Sail scaffolding installed successfully. You may run your Docker containers using Sail's "up" command.
➜ ./vendor/bin/sail up
WARN A database service was installed. Run "artisan migrate" to prepare your database:
➜ ./vendor/bin/sail artisan migrate
7. Laravel sailを起動
./vendor/bin/sail up -d
マニュアルには'-d'オプションが記されていませんが、その通りにするとプロンプトが戻ってこないので、'-d'オプションを追加してます。
8. データベースの構造を設定
./vendor/bin/sail artisan migrate
9. Laravelのバージョンを確認
./vendor/bin/sail artisan --version
Laravel Framework 10.48.22
10. Laravelによるシステム画面の表示を確認
WEBブラウザを起動して下記URLにアクセスして、Laravelの画面が表示されることを確認します。
http://localhost
11. パソコンの電源を落とすときは
前の7.で-dオプションを付けてsailを起動させている場合、Sailを停止させておいたほうが良いと思います。
./vendor/bin/sail stop
-dオプションを付けずにSailを起動させた場合はコンソール上でCTRL+cで停止します。
トラブル1
Laravelバージョン指定インストール時に正常終了せず、以下の表示で終わってました。
composer create-project "laravel/laravel=10.*" example-app
You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-curl` to temporarily ignore these required extensions.
さらに上には、以下のようにインストールできなかったプログラムがあるようでした。
Your requirements could not be resolved to an installable set of packages.
Problem 1
- spatie/laravel-ignition[2.0.0, ..., 2.8.0] require ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.
- Root composer.json requires spatie/laravel-ignition ^2.0 -> satisfiable by spatie/laravel-ignition[2.0.0, ..., 2.8.0].
本来なら、php.iniファイルでext-curlと書かれている部分のコメントを外すんだと思いますが、エラーメッセージに --ignore-platform-req=ext-curl
を付けてみて、と書かれていたので試して見ました。
composer create-project "laravel/laravel=10.*" example-app --ignore-platform-req=ext-curl
上のコマンドで再インストールを試み、エラーが出た際にインストールされなかった'spatie/laravel-ignition'がインストールされたか、画面の上のほうを確認してみて、
spatie/laravel-ignition ....................................................................................... DONE
と表示されていたので無事終了。
トラブル2
Laravel Sailインストール時に正常終了せず、以下の表示で終わってました。
composer require laravel/sail --dev
You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-curl` to temporarily ignore these required extensions.
You can also try re-running composer require with an explicit version constraint, e.g. "composer require laravel/sail:*" to figure out if any version is installable, or "composer require laravel/sail:^2.1" if you know which you need.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
トラブル1と同様に--ignore-platform-req=ext-curl
を付けて再実行してみました。
composer require laravel/sail --dev --ignore-platform-req=ext-curl
以下の表示が出て、無事終了
Using version ^1.32 for laravel/sail