GitHubでのLaravelプロジェクトの管理についてまとめています。
GitHubでLaravelプロジェクトを管理する
LaravelはPHPフレームワークのひとつで、Amazon SQS(キューサービス)、SES(Eメールサービス)、S3(ストレージサービス)との連携、Vue.jsとの連携が最初からできるのが特徴。バックエンドのフレームワークとしては、PythonのDjango、RubyのRuby on Railsと並んで3大バックエンドフレームワークと言われることもあります。
関連)Laravel – ウェブ職人のためのPHPフレームワーク
GitHubに新しくリポジトリを作成
GitHubに新しくリポジトリを作成します。
当記事では、my-laravel-projectという名前でリポジトリを作成しました。
Laravelのインストール
Laravelのインストールには、phpモジュールの依存関係をチェックしながらインストールするcomposerが必要になります。まずは、以下の手順でcomposerをローカルディレクトリにダウンロードし、ファイルのハッシュ値をチェックします。「Installer verified」と表示されるのを確認します。
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ ls composer-setup.php $ php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" Installer verified 以下のコマンドで、composerをインストールします。インストール後、unlinkでインストール用のファイルを削除しています。composer.pharというファイルが生成されるので、/user/local/binなどパスの通ったフォルダに、composerという名前で移動します。 $ php composer-setup.php All settings correct for using Composer Downloading... Composer (version 2.1.5) successfully installed to: /home/kabuki/php/composer.phar Use it: php composer.phar $ php -r "unlink('composer-setup.php');" $ ls composer.phar sudo mv composer.phar /usr/local/bin/composer
composerを実行して、正しくインストールされているか確認します。
$ composer ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 2.1.5 2021-07-23 10:35:47 Usage: command [options] [arguments] : :
以下のコマンドを実行して、laravelをインストールします。
$ composer global require "laravel/installer=~1.1" Changed current directory to /home/user1/.config/composer ./composer.json has been created Running composer update laravel/installer Loading composer repositories with package information Updating dependencies Lock file operations: 15 installs, 0 updates, 0 removals - Locking guzzlehttp/guzzle (6.5.5) - Locking guzzlehttp/promises (1.4.1) : :
Laravelプロジェクトを作成する
プロジェクト用のディレクトリを作成し、以下のコマンドを実行して、laravelプロジェクトの初期ファイルを生成します。
$ composer create-project laravel/laravel my-laravel-project --prefer-dist Creating a "laravel/laravel" project at "./my-laravel-project" Installing laravel/laravel (v7.30.1) - Downloading laravel/laravel (v7.30.1) : : Use the `composer fund` command to find out more! > @php artisan key:generate --ansi Application key set successfully.
以下のようなエラーメッセージが出た場合は、必要なphpモジュールがインストールされていません。sudo apt installで、php-mbstringと、php-xmlをインストールします。(OSがubuntuの場合)
Problem 1 - laravel/framework[v7.29.0, ..., 7.x-dev] require ext-mbstring * -> it is missing from your system. Install or enable PHP's mbstring extension. - Root composer.json requires laravel/framework ^7.29 -> satisfiable by laravel/framework[v7.29.0, ..., 7.x-dev]. $ sudo apt install php-mbstring Problem 1 - phpunit/phpunit[8.5.8, ..., 8.5.x-dev, 9.3.3, ..., 9.5.x-dev] require ext-dom * -> it is missing from your system. Install or enable PHP's dom extension. $ sudo apt install php-xml
my-laravel-projectというディレクトリが作成されています。ディレクトリ内を確認すると、ファイルが生成されています。
$ ls my-laravel-project $ cd my-laravel-project/ $ ls README.md composer.json package.json routes vendor app composer.lock phpunit.xml server.php webpack.mix.js artisan config public storage bootstrap database resources tests
LaravelプロジェクトのファイルをGit管理下に設定する
これらのファイルをgit管理下に設定しましょう。まずは、GitHubにて、新しくリポジトリを作成します。以下を実行すると、空のリポジトリがローカル環境に作成されます。
$ git init Initialized empty Git repository in /home/user1/php/my-laravel-project/.git/
git statusでローカルリポジトリの状態を確認します。
$ git status ブランチ master No commits yet 追跡されていないファイル: (use "git add <file>..." to include in what will be committed) .editorconfig .env.example .gitattributes .gitignore .styleci.yml README.md
git remoteで、最初に作成したリポジトリを指定します。その後、git addで対象のファイルをすべてgit管理下に指定します。
$ git remote add origin https://github.com/***/my-laravel-project.git git add * The following paths are ignored by one of your .gitignore files: vendor Use -f if you really want to add them.
git commitで最初のコミットをおこない、mainブランチを作成、リモートリポジトリにプッシュします。
$ git commit -m 'first commit.' [master (root-commit) 17265ee] first commit. 78 files changed, 10151 insertions(+) create mode 100644 README.md create mode 100644 app/Console/Kernel.php : : $ git branch -M main
git pushで、ローカルのリポジトリをリモートにプッシュします。
$ git push -u origin main Counting objects: 103, done. Delta compression using up to 2 threads. Compressing objects: 100% (84/84), done. Writing objects: 100% (103/103), 62.50 KiB | 2.72 MiB/s, done. Total 103 (delta 6), reused 0 (delta 0) remote: Resolving deltas: 100% (6/6), done. To https://github.com/kabukinger/my-laravel-project.git * [new branch] main -> main Branch 'main' set up to track remote branch 'main' from 'origin'.
以上の手順で、Laravelプロジェクトのファイルが、GitHubの管理下になりました。
まとめ
- Laravelは、PHPのフレームワークの一種で、AWSのサービスやVue.jsと親和性が高い
- Laravelのインストールやプロジェクト作成にはcomposerを使用する
- LaravelをGithubで管理するには、空のリポジトリを作成してgit addで管理対象ファイルを追加する