この記事は、「WSL2 + Lando:WindowsでのWeb開発環境構築ガイド」シリーズの3ページ目です。今回は、前回の記事でセットアップしたUbuntuに、Landoをインストールするところまでの手順を紹介します。
次の環境で実施しています:
- Windows11
- WSL2
- Ubuntu 22.04.4
- Lando 3.21.0
このページの目次
( 開く )
UbuntuにLandoをインストールする
UbuntuにLandoをインストールします。
参考1)Windows | Lando(Install Lando on Windows)
参考2)Linux | Lando(Install Lando on Linux)
Lando公式のWindowsへのインストールガイドを見ると次の記載があります。
For those who prefer working exclusively within WSL2, no additional Windows-based installation is necessary. You can install Lando directly within the Linux environment by following the Linux installation instructions.
WindowsのWSL2に入れたLinuxディストリビューションにLandoを入れる場合は、Linuxへのインストールを参考にすればよい、ということなのでLinuxへのインストールガイドを見ながら進めます。
怖いくらいシンプル…。
他で見ていたLandoユーザーさんたちの記事とインストール方法が違っていて躊躇しましたが、公式の記事のアップデートが2か月前と新しかったので、(当たり前だけど)公式を信じてやってみました。
Ubuntuに接続して次のコマンドを実行します。
/bin/bash -c "$(curl -fsSL https://get.lando.dev/setup-lando.sh)"
何やらすごい勢いでインストールが進みます…。
enter computer password… でストップ
途中、「enter computer password for undefined to add them to docker group」のコメントと共にインストールが停止しました。
Dockerの権限まわりの設定と思われます。ユーザー名が「undefined」なところが気になりますが、操作しているUbuntuユーザーのパスワードを入力したところ、インストールが再開されました。
ERROR: System has not been booted with systemd as init system (PID 1). Can’t operate.
うまくいったかな?と思っていたところ、最後の最後でエラーが発生しました。
Setup installed 38 of 38 things successfully!
However, a restart is required is complete your setup.
ERROR ==> System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
エラー文言で調べると、同じエラーが発生している記事を発見。(多謝!)
途中から症状が違っているのでそのままズバリではありませんが、ここから次の点が分かりました。
systemd
がPID=1
で実行されていないことが原因- プロセスは、
ps -aux
で確認できる systemd
の実体は/sbin/init
なので、/sbin/init
がPID=1
で実行されていればOK
実際にプロセスを確認すると、/init
がPID=1
で実行されてました。
WSL2で、systemd
が有効になっているかを確認します。
この先は、次のMicrosoftのドキュメントを参照しながら解決を試みました。
実行したのは、参考3の「systemdを有効にする方法」のくだりです。
上図の「2」を実行すると、すでに「3」の状態だったので、「4」を実行します。
Windowsでの操作に戻り、PowerShellでwsl.exe --shutdown
を実行。
WSL2のすべてのディストリビューションを再起動します。
改めてUbuntuに戻り、ps -aux
コマンドでプロセスからPIDを確認します。
期待通り、/sbin/init
がPID=1
で実行されていることが確認できました。
これで原因は取り除けたはず。
Landoのインストール完了!
もう一度Landoのインストールを実行したところ、無事インストールが完了しました!
今読み返すと、エラーのコメントには However, a restart is required とあるので、最初からWSL2を再起動するだけでよかったのかもしれません。
少し遠回りした気もしますが、大きなトラブルなくLandoがインストールされました。
まとめと次のステップ
この記事では、WSL2上のUbuntuにLandoをインストールする手順について解説しました。
インストーラーに比べると難しく感じられるかもしれませんが、コマンドラインでセットアップする他のツールに比べると、とてもシンプルだと思います。
※比較的新しいツールで開発活動も活発なようです。検索に上がってくるユーザーの記事内容と実際が違う場面も多くあるので、実行の際は公式サイトを必ず確認してくださいね。
この記事は、WSL2とLandoを使ってWindows上に実用的なローカル開発環境を構築することを目的とした「WSL2 + Lando:WindowsでのWeb開発環境構築ガイド」シリーズの3ページ目です。
次の記事では、Landoを使用したLAMP環境のセットアップ手順を詳しく見ていきます。