前提
Linux 用 Windows サブシステム (WSL)の環境をリセットして新たにubuntuを入れてLaravelの環境を構築します
- Windows11 Pro 22H2
- Ubuntu22.04.1 LTS
- docker desktopがインストールされていることが前提
Ubuntuのアンインストール
Windowsキー+I アプリ→インストールされているアプリ→Ubuntu→アンインストール
Windowsキー → wt エンター
ターミナルを開きます
wsl.exe -l
Ubuntu-22.04(既定)を確認
wsl.exe --unregister Ubuntu-22.04
上記で登録解除。PCを再起動する
Ubuntuのインストール
Microsoft StoreからUbuntu 22.04.1 LTSをインストール
インストール完了後、Ubuntuを起動する。ユーザー名とパスワードを設定
Windowsキー → wt エンター Windows PowerShellで以下のコマンドを実行
wsl.exe --set-default Ubuntu-22.04
これでdockerコマンドのパスが通る。
ミラーサーバーの設定を変える
sudo nano /etc/apt/sources.list
上記コマンドでアップデートサーバーを確認します。上記は省略可能。
デフォルトでは遅いので山形大学のサーバーに変更します。
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://linux.yz.yamagata-u.ac.jp/pub/linux/ubuntu/archives/%' /etc/apt/sources.list
sudo apt update sudo apt upgrade -y sudo apt update
Laravelのインストール
プロジェクトをインストールしたいフォルダに移動する
以下、例
mkdir code cd code mkdir project cd project code .
vscodeで新しいターミナルを開きます。
curl -s https://laravel.build/example-app | bash
上記のexample-appは変えてOKです。
途中 apt-get updateに失敗します。
vscodeの検索機能で「apt-get update」を検索し、Dockerfileの場所を確認します。
例えば vendor/laravel/sail/runtimes/8.2/Dockerfile にあります。
複数検索にヒットすると思いますが、最新版のPHPバージョンのDockerfileを開き、apt-get updateの上に以下のコードを追加します
RUN perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://linux.yz.yamagata-u.ac.jp/pub/linux/ubuntu/archives/%' /etc/apt/sources.list
アップデートサーバーを山形大学のサーバーに変更します。
以下のような並びになればOKです。
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://linux.yz.yamagata-u.ac.jp/pub/linux/ubuntu/archives/%' /etc/apt/sources.list RUN apt-get update \
Dockerfileを上書き保存します。
その後、cd example-app && ./vendor/bin/sail upを実行します。
example-appはプロジェクト名
ブラウザで localhostに接続してLaravelのトップ画面が出れば成功です。
シェルエイリアスの設定
./vendor/bin/sail up は長いので、sail upでコマンドが使用できるように設定します。
echo "alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'" >> ~/.bashrc && source ~/.bashrc
上記コマンドをどこのディレクトリにいてもいいので実行します。
以降は「sail up」でOKになります。
コメント