M1 MacでLaravel Sail起動まで

2023/04/17に公開

Dockerのインストール

Rosettaインストール

Dockerをアップルシリコン(M1 & M2)のmacで実行する前に「Rosetta」と言うソフトを入れると
非対応のアプリエラーを減らせるらしい

2020年、Macが再びIntelチップから新しいApple Silicon M1チップに移行するのに合わせて、Rosetta 2がリリースされた。
https://www.tunesbro.jp/blog/how-to-install-rosetta-on-m1-m2-macs.html

Rosetta2インストールコマンド

softwareupdate --install-rosetta --agree-to-license

Dockerデスクトップのインストール

ここは適宜調べてください。

プロジェクトの新規作成

参考にした本ではバッシュを使うのでシェルの確認をしてzshからbashに切り替えしようとした

ytk@despatlabo-MBP ~ % echo $SHELL
/bin/zsh

# エラー発生
chsh: no changes made

解決しようと以下のURL事項も試したがだめだった
https://qiita.com/djkazunoko/items/5f2979e2f902247aac3f

気にせずインストール進めてみる

# homeに作っちゃうと後々めんどい
cd 任意のディレクトリ
# 最新版がインストール「example-app」がプロジェクト名
curl -s "https://laravel.build/example-app" | bash

Laravel Sailを起動

cd example-app

# -dオプションでバックグラウンド実行
./vendor/bin/sail up -d

# 停止する場合
./vendor/bin/sail stop

自分の場合は使っていないコンテナでポートの重複エラーが出たのでコンテナを停止して対処した。
各自の環境でエラーが出た場合はググって解決しよう。

Bind for 0.0.0.0:3306 failed: port is already allocated

他のコンテナの設定を変えられない場合は多分ここからプロジェクトのポートを変更するしかない。
ファイル名を見てピンと来ない人はdockerの基礎から勉強しよう。

example-app/docker-compose.yml

#laravel

Discussion