開発ブログ

株式会社Nextatのスタッフがお送りする技術コラムメインのブログ。

電話でのお問合わせ 075-744-6842 ([月]-[金] 10:00〜17:00)

  1. top >
  2. 開発ブログ >
  3. 開発環境 >
  4. Laravel Sailを初めて導入した際のつまづきどころ
no-image

Laravel Sailを初めて導入した際のつまづきどころ

こんにちはNextatのTYです

既存プロジェクトをLaravel 9 にアップグレードを行うことになり
その際の開発環境にLaravel Sailを導入したので簡単な導入の手順とつまづきをメモのようにまとめてみます!


Laravel SailとはDockerの開発環境を簡単に構築できるというコマンドライン・インターフェースです。

  • Dockerの知識が少ない。
  • 開発環境作成のベース整備にかける時間がない。

こんな時に簡単に使用できるので便利です!
公式ドキュメント:https://readouble.com/laravel/8.x/ja/sail.html

今回は既存のプロジェクトにSailをインストールします!

composer require laravel/sail --dev


インストールが完了したら

php artisan sail:install


ここまできたらSailを立ち上げるだけです!

./vendor/bin/sail up

これでプロジェクトが立ち上がります
こんな簡単にDockerでの開発環境を構築できるのはいいですね!

毎回 ./vendor/bin/sail と入力するのは面倒という場合
ドキュメントに従ってBashエイリアスを設定してしまえば

alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'


下記のようなコマンドで実行できるようになります!

sail up -d 

Dockerの知識が少ない私にも優しく比較的簡単でした!
便利なSailコマンドがいろいろあるようなので調べてみてください!(参考

ローカルでは動作も問題なさそう!!
と思ったら少し問題が起こりました。
 

Sailを導入済のプロジェクトでの初回起動時のつまづきポイント

既にSailを導入しているプロジェクトをGitHubなどからcloneを行って初回起動する際には注意が必要でした。
sail up -d で初回起動時も環境が立ち上がると思ったのですが立ち上がらない......

vendorディレクトリに依存ライブラリがインストールされていないのが問題のようでした。
いろいろ調べてみるとLaravel SailではComposerで依存ライブラリがインストールされているのを前提にSailコマンドが動くみたいですね。
参考記事 : https://qiita.com/Gro/items/38103dda7aa5fb37eb64

そこで、まず初回起動時にはComposerで依存ライブラリをインストールしてあげないといけません!
ローカルマシンに要求されるバージョンのPHPが入っていない場合はSailが用意しているComposerのDockerイメージを利用するのが便利です。

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v ${PWD}/src:/var/www/html \
    -w /var/www/html \
    laravelsail/php80-composer:latest \
    composer install --ignore-platform-reqs

今回のケースでは上記のように初回起動時にComposerで依存ライブラリをインストールしてあげることで解決できました。

少しでも皆さんの参考になれば最高です!
今回は以上です、読んでいただきありがとうございました!

TOPに戻る