30代からのプログラミング学び直し!

10年エンジニアやってるけどいまだになんもわからん

まっさらなMac(M2)でできるだけ短い手順でLaravel10の開発環境を動かすまで

MacBookAir(M2)を買いました❣️

エンジニアをやっている分際で、自分のPCを5年くらい所持していなかった(iPadと会社支給のMacで満足していた)ので、とても久しぶりに新しいPCを触ります。ずっと欲しいと思っていたAirが、M3モデルの登場によってM2が少しお安くなったため、この機会を逃すまい!とついに購入しました。ちなみに、楽天リーベイツを経由してApple Storeで買ったら楽天ポイントが5000円くらいついてお得でした(還元率4%の場合)。

キラキラ✨

早速、Laravelの開発環境を構築していきます。なぜなら、現在Laravelを勉強中なので。 新しい端末で一から整備することは滅多にないので、貴重な機会です。

やりたいこと

  • 新しくてまっさらなMac(M2)にできるだけ簡潔にLaravel10の開発環境を整備する
  • Laravel Sail を使ってDocker上で動かす
  • ソースはGitHubからcloneする(古いPCからリモートリポジトリにpush済み)
  • グローバルインストールするツール類はとりあえず全部最新版でOK

まずはもろもろ必要なものをインストール

Docker Desktopインストール

とりあえずDockerは絶対使うのでインストールしておく。

Install Docker Desktop on Mac | Docker Docs

公式サイトから「Docker Desktop for Mac with Apple silicon」を選択してGUIでインストール。

homebrewインストール

Homebrew — The Missing Package Manager for macOS (or Linux)

ターミナルから、公式サイトのコマンドをコピペして実行。しばらく待つと、パスを通すため追加で2つコマンドを実行してね!と丁寧にコマンドを表示してくれるので、忘れずに実行する。homebrewさえあればとりあえず安心。

 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
 (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /環境によるパス/.zprofile
 eval "$(/opt/homebrew/bin/brew shellenv)"
ターミナルアプリインストール

Warp: Your terminal, reimagined

これは完全に好みなので飛ばしていいですが、私はwarpを好んで使っているため、入れておく。以降のコマンドはwarpから実行する。

 brew install --cask warp
gitインストール

Git - Downloading Package

gitも絶対に使うので入れておく。

brew install git

人によっては、お好みのブラウザや開発ツールもインストールしておくといいですね。私はBraveとVSCodeを入れました。

GitHubからソースコードを手に入れる

GitHubからsshソースコードをcloneしたいので、まずは鍵の作成&登録

新しい SSH キーを生成して ssh-agent に追加する - GitHub Docs

公式サイトがとてもわかりやすいのでその通りにコマンドを打っていく。

ssh-keygen -t ed25519 -C "メールアドレス"
   # 全部EnterでもOK (パスフレーズ等はできるだけ設定した方がいいと思います)
eval "$(ssh-agent -s)"
touch ~/.ssh/config
vim ~/.ssh/config
  # vimで以下を記入
     Host github.com
     AddKeysToAgent yes
     UseKeychain yes
     IdentityFile ~/.ssh/id_ed25519
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
GitHubに公開鍵を登録

GitHub アカウントへの新しい SSH キーの追加 - GitHub Docs

クリップボードに鍵をコピー。

pbcopy < ~/.ssh/id_ed25519.pub

GitHub上の「設定」から鍵を登録します。公式サイトの説明が丁寧。

git clone

ディレクトリに移動してから、git clone。

git clone git@github.com:リポジトリのSSH URL

これでソースコードを手に入れることができました。

Laravelを立ち上げるための準備

phpインストール

PHP: パッケージの使用 - Manual

とりあえず、phpの最新版をインストールする。

brew install php
# バージョン確認
php -v
  PHP 8.3.3 (cli) (built: Feb 13 2024 15:41:14) (NTS)

次に出てくるcomposerのインストールにphpが必要だったのでインストールしたのですが、どうやらhomebrewでもcomposerのインストールが可能だったようなので、そっちを使えばphpのインストールは必要なかった気がします…。あと、なにも考えず最新版をグローバルに入れてしまいましたが、今後バージョンの切り替えが必要になった時などはphpenv等を使った方が良さそうですね。(基本的にはDockerで開発するので、必要ないかもしれませんが…)

composerインストール

Composer

公式サイトの通りに、合計5つのコマンドを叩きます。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
# バージョン確認
composer -V
    Composer version 2.7.1 2024-02-09 15:26:28
アプリケーションの準備

参考にさせていただきました: 【Laravel】git cloneしただけでは、php artisan serveできない #Git - Qiita

まずはcomposer installをして、vendorディレクトリを作成(必要なパッケージやライブラリをインストール)します。

cd プロジェクトのディレクトリ/
composer install

.envを作ったりキーを初期化したりします。

cp .env.example .env
php artisan key:generate

sailでDockerを立ち上げてみます。

alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'    # エイリアスを設定しておく
sail up -d

localhostで動いた!これで無事に新しいMacでもLaravel開発ができるようになりました👏

感想

インストールするツールが多かったので、手順は多くなってしまった感じがしますが、エラー等で躓くこともなく、1時間程度で環境を整えることができました!コマンド一発でインストールできるものが多くて、本当に便利になりましたね〜〜。令和すごい。(昔は環境構築に四苦八苦していた記憶が…。) これからこのMacを使って色々勉強していこうと思っているので、楽しみです!🤩