エンジニア初心者がPHP/Laravelを学ぶ 仕事

Laravel Sailでプロジェクトを立ち上げる方法

2024年1月28日


Laravel SailはLaravel projectをdockerで動かす環境を作ってくれる超便利な奴。
Dockerfileやdocker-compose.ymlも勝手に作ってくれる。

以下内容は公式ドキュメントを参考に実施する。

curl -s https://laravel.build/laravel-10-blog | bashコマンドを実行


まず最初に実行するこのコマンドなんだけど、何をしているかと言うとネットからLaravel フレームワークの最新の安定版をダウンロードしてる。


コマンド↓

curl -s https://laravel.build/laravel-10-blog | bash

初めて実行する時はまじで長い。

Dockerコンテナの立ち上げ


次はコンテナを立ち上げる。

パスワードを入力してプロジェクトの作成に成功したらプロジェクトフォルダに移動。

コマンド↓

cd laravel-10-blog

プロジェクトフォルダに移動できたら今いるディレクトリをエクスプローラーで開く。

コマンド↓

explorer.exe .


エクスプローラーが開いたら、1つ上の階層に移動。

作成したプロジェクトフォルダがあるのでVSCODEを開く。

VSCODEが開けたら、次はDockerコンテナを立ち上げる。

コマンド↓

./vendor/bin/sail up

control + Cでコンテナのサービスをストップできる。

コンテナに入る


立ち上げたコンテナに入れることを確認。

コンテナ内に入ればphpコマンドやartisanコマンドなど実行できる。

コマンド↓

./vendor/bin/sail bash

ちなみに以下でもOK

./vendor/bin/sail shell


localhostでLaravelのデフォルトページが開ければOK。

LaravelのプロジェクトをGitHubにpush


あとはGithubにプロジェクトをプッシュするだけ!

Gitがローカルにインストールされていることが前提なんだけど、まずはGithubでリポジトリを作成する。

echo "# blog" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/Meowsuke/blog.git
git push -u origin main

次に上記コマンドを一つずつ以下のように実行する。


コミットしたらエラーになったので、自分のemailとnameを設定。


自分のemailとnameを設定した。(後ほど--globalオプション付けるの忘れたと気づく笑)
以下コマンドを実行。
git branch -M main
git remote add origin https://github.com/Meowsuke/blog.git
git push -u origin main

するとpushで以下エラー発生。
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Meowsuke/blog.git/'

上記記事を参考にアクセストークンを作成する。


自分のemailとnameを設定したら、再度push。
pushするとパスワードを聞かれるので、上記画像の黄色線の個所に作成したアクセストークンを張り付ける。

するとこんどは以下エラーが発生。
remote: error: GH007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
remote: http://github.com/settings/emails
To https://github.com/Meowsuke/blog.git
! [remote rejected] main -> main (push declined due to email privacy restrictions)
error: failed to push some refs to 'https://github.com/Meowsuke/blog.git'

これはGithubの設定で自分の email を private にする設定をしているのに、 config に自分の email アドレスを設定している状態で push しちゃダメといったエラーらしい。

なので、Githubのhttp://github.com/settings/emailsで上記画像の黄色線のアドレスをコピー。

コピーした黄色線のアドレスを設定する。(--global オプションを付ける)
再度pushしたらエラー解消されていない。

なので、git config --listでconfig設定を確認し、--globalオプションを付けない方のメールアドレスの設定も同様に実施。

コマンド↓

$ git filter-branch -f --env-filter "GIT_AUTHOR_EMAIL='{ID}+{username}@users.noreply.github.com'; GIT_COMMITTER_EMAIL='{ID}+{username}@users.noreply.github.com';" HEAD

既存の commit 内の private な email を一括変更。{ID}+{username}@users.noreply.github.com は自分のものに適宜変更。


README.mdファイルのみコミットされている。git add .するのわすれてた。

以下コマンドを実行すると、Laravelプロジェクト環境構築完了!

git commit -m 'second commit'
git push origin main

-エンジニア初心者がPHP/Laravelを学ぶ, 仕事