広告

【Laravel】既存(非Sail)プロジェクトをSail環境へ移行

Laravel

当サイトではアフィリエイト広告を利用しています。

広告

はじめに

以下の記事では、Laravel Sailを使って環境の構築を行いました。

Windows
Laravel Sailで開発環境構築【Vite対応】
今回は、Laravel Sailを使って環境の構築を行いました。 SailはDockerですので、開発環境を簡単に用意することもできますし、カスタマイズすることも楽です。
Mac
【M1 Mac】Laravel Sailで開発環境構築【Vite対応】
Laravel Sailを使って環境の構築を行いました。 SailはDockerですので、開発環境を簡単に用意することもできますし、カスタマイズすることも楽です。

SailはDockerですので、開発環境を簡単に用意することもできますし、カスタマイズすることも楽です。
私自身、最近はSailでの開発環境を使用しています。

Laravelの開発環境について、Sail環境ではなく、ローカルPCにMySQLやComposerをインストールして開発していますでしょうか。
特に古いプロジェクトはその様になっていると思いますが、今回はSail環境じゃないプロジェクトを、Sail環境に移行するための手順をまとめました。

使用するバージョンなど
  • Windows 11 (WSL 2)
  • Docker Desktop
  • Laravel

2023/03/11 Laravel10で確認しました。

他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。

広告

【紹介】個人開発

私の個人開発ですがQuiphaというサービスを開発しました。(Laravel, Vue3など)
良かったら、会員登録して動作を試してみて下さい。

また、Laravel 9 実践入門という書籍を出版しました。
Kindle Unlimitedを契約している方であれば、読み放題で無料でご覧いただくことができます

是非多くの方に読んでいただき、Laravelの開発に少しでもお役に立てたら幸いです。

Sail環境へ移行

Composerでプロジェクトを作成

まずは、ローカルPCにインストールしたComposerでLaravelプロジェクトを作成します。
作成したプロジェクトをSail環境へ移行する手順を行います。

Sail環境を構築するため、WSL2やDockerは必要になりますので、以下の構築手順を参考にしてください。

Laravel Sailで開発環境構築【Vite対応】
今回は、Laravel Sailを使って環境の構築を行いました。 SailはDockerですので、開発環境を簡単に用意することもできますし、カスタマイズすることも楽です。

以下のコマンドでLaravelプロジェクトを作成します。

composer create-project laravel/laravel sample-project --prefer-dist

新規でLaravelプロジェクトを作成した場合、composer.jsonを確認すると、Sailは導入されています

    "require-dev": {
        "facade/ignition": "^2.5",
        "fakerphp/faker": "^1.9.1",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^5.10",
        "phpunit/phpunit": "^9.5.10"
    },

もし、古いLaravelプロジェクトでSailがcomposer.jsonの一覧にない場合は、以下のコマンドでSailをインストールします。

composer require laravel/sail --dev

Sailへ移行

以下のコマンドでLaravelプロジェクトにSail環境を準備します。

php artisan sail:install

コンテナ環境に何を構築するか聞かれます。
今回はmariadbだけインストールしたいので、2を入力しEnterで進めました。

 Which services would you like to install? [mysql]:
  [0] mysql
  [1] pgsql
  [2] mariadb
  [3] redis
  [4] memcached
  [5] meilisearch
  [6] minio
  [7] mailpit
  [8] selenium
  [9] soketi

もし複数指定する場合は、カンマ区切りで入力します。
ちなみにSailでプロジェクトを作成した場合は、デフォルトで以下の番号のサービスが追加されています。

0,3,5,7,8

もちろん後からサービスの追加はできます。

以下のメッセージが表示され、環境の構築はすぐに終わります。(docker-compose.ymlが作成されるなど)

Sail scaffolding installed successfully.
広告

Sailの起動

VS Codeのターミナルで、WSLを開きます。

Sailを起動します。

./vendor/bin/sail up

以下のURLにアクセスしましょう。

http://localhost/

Laravelの起動画面が表示されました。
これでローカルPCに構築したXAMPPやComposerは不要で、Sailを通じて作成されたDockerコンテナの方で実行環境が整いました

.envの確認

.envの確認を行いましょう。変更の必要はありませんが、DBに接続できるのでしょうか。

DBのホスト先は自動で変更になっていました。

DB_HOST=mariadb

すでに設定されているデータベースの接続情報で、コンテナ内のデータベースは作成されます。

DB_DATABASE=DB名
DB_USERNAME=ユーザ
DB_PASSWORD=パスワード

以下のコマンドでテーブルを作成すればOKですね!

sail php artisan migrate

さいごに

Sail環境は、ローカルに開発環境の用意も不要で、複数人の開発でも環境を統一できるのでとても便利です。
古いプロジェクトでSailを導入していない場合は、移行を検討してみましょう。

他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。

LaravelOSPHPWindowsプログラミング
広告

個人開発

千草 @chigusaweb

現役のITエンジニア。 気ままにコードを書いたり技術情報を発信しています。 Webアプリ/Windows・Macアプリ/モバイルアプリなど。 (Java, PHP, Javascript, Swift, Python, C#, 他) 個人開発:Clibor, Quipha, TXT-Crypter, 符計算特訓, チグサツール Kindle本: Laravel9 実践入門, 他

クリップボード履歴

Clibor

Windows

Cliborはシンプルで高機能なクリップボード履歴ソフトです。
また普段よく使うワードを定型文として登録し、いつでもクリップボードに保存することができます。高度なテキスト整形・FIFOモード・ホットキーに対応。

クリップボード履歴

Windows版Cliborの利便性を、そのままMacでも。
定型文登録、高度なテキスト整形、FIFOモードなど、便利なクリップボード履歴機能を利用できます。macOS最新のTahoeにも対応。

テキスト暗号化

テキストを暗号化してURLで共有・保存できる無料サービスです。
パスフレーズを知る人だけが復号できます。登録不要、データはサーバーに保存されません。
Notionでも利用できます。

学習

Quipha

Web / iOS

自分だけの問題集や問題を作成し、クイズを行い、学習に活用することができるアプリです。
例えば、学校の授業、語学学習、IT資格やその他の資格など多彩な分野での学習を支援します。
いつでも、どこでも、あなたの学習をサポート。

ツール

日常の「ちょっとした効率化」をサポートするWeb便利ツール集。
テキスト・データ処理から最新のAI連携まで、日々のちょっとした手間でググりがちなユーティリティを1つの場所に集約。

麻雀

麻雀の符計算をひたすら特訓しマスターしましょう。
初心者の方はもちろん、もっと速く計算したい方にも役立ちます。
5万対局以上の実践から問題を収録。

コメント

タイトルとURLをコピーしました