LandoやDrushなどのDrupalローカル開発環境のアップデート方法(Mac版)


Drupalのローカル開発環境構築方法として、過去にLandoを使う方法を紹介しました。
参考:M1/M2にも対応!Landoを利用してDrupalのローカル開発環境を構築!初期設定方法を詳しく解説します(Mac版)
今回はその時に作成した、Landoを中心としたローカル開発環境に関係する下記4つのツールのアップデート方法についてご紹介します。
- Lando
- Docker Desktop
- Drush
- PHP
頻繁に行うものではありませんが、新しいプロジェクトを開始する前などで最新の環境にしておきたい場合にぜひ参考にしてください。
なお、この記事の内容はmacOS Monterey(12.4)で行った作業を元に執筆しています。
アップデート方法
Lando
Landoで新しいバージョンがある場合は、「lando start」コマンドを実行して起動したときに「Update available」という表示が出てきます。
この表示が出ている場合は次のバージョンがリリースされています。
LandoとDockerを停止する
まずはLandoとDockerを一時的に停止します。
Landoに関しては下記のコマンドを実行すれば停止します。
lando poweroff
Dockerに関してはMacのメニューバーアイコンから[Pause]を選択すれば停止できます。
Landoのバージョンを確認する
念のために、アップデートする前に現在のバージョンを確認しておくことをオススメします。
もし最新のバージョンで不都合が出た場合に、元のバージョンに戻す必要があるので、アップデート前には確認するようにしましょう。
下記コマンドを実行すれば、現在のバージョンが表示されます。
lando version
最新版のLandoをインストールする
先ほどの「Update available」と書かれた文章下に最新版のLandoのGitHubリンクが貼ってあるので、そこへアクセスします。
すると、最新バージョンのLandoダウンロードページが表示されます。
M1・M2などApple SiliconのMacを使っている場合は「lando-arm64-v○.○○.○.dmg」をクリックしてダウンロードします。
それ以前のMacを使用している場合は「lando-x64-v○.○○.○.dmg」をクリックします。
ファイルがダウンロードできたら、ファイルを開いて「Landoinstaller.pkg」をダブルクリックして起動しましょう。
あとはインストーラーの指示に従ってインストールします。
これでLandoのアップデートは完了です。
Docker Desktop
Docker DesktopはLandoを実行する上で必要になるアプリケーションです。
アップデートバージョンがある場合は、Docker Desktopを開いて左上に「Update to latest」の表示が出ています。
最新バージョンをインストールしたい場合
「Update to latest」をクリックすると[Settings]→[Software updates]の画面が開きます。
ここで「You're currently on version ○.○○.○」と書かれているのが現在のバージョンで、「The latest version is ○.○○.○」と書かれているのが最新バージョンです。
「Download update」ボタンをクリックすれば最新のバージョンにアップデートされます。
アップデートが完了したら「Resume」ボタンをクリックしてDockerを再開します。
指定バージョンをインストールしたい場合
もし最新バージョンではなく、指定のバージョンをインストールしたい場合は「Release notes」ボタンをクリックします。
すると、Docker DesktopのRelease notesページが表示されます。
上から順に新しいバージョンが表示されているので、インストールしたいバージョンの「Download Docker Desktop」枠の中からダウンロードリンクをクリックします。
これもLandoと同じく、M1・M2などApple SiliconのMacを使っている場合は「Mac with Apple chip」をクリックします。
それ以前のMacを使用している場合は「Mac with Intel chip」をクリックします。
「Docker.dmg」ファイルがダウンロードできるので、ダブルクリックして開いて、中に入っている「Docker.app」をアプリケーションフォルダへ移動します。
あとはDocker.appを起動すれば完了です。
Lando起動時に警告が表示される場合
Docker Desktopを最新バージョンにしても、Landoがまだ最新のDocker Desktopをサポートしていない場合があります。
サポートされていない場合は「lando start」コマンドを実行してLandoを起動すると、「Warning」の表示が出てきて、下記の警告文が表示されます。
Using an unsupported version of DOCKER DESKTOP
(使っているDocker Desktopはサポートされていません)
さらにその警告文の下に、現在のDocker Desktopバージョンと、Landoがサポートしているバージョンが書かれてあります。
You have version 4.21.1 but Lando wants something in the 2.1.0.0 - 4.16.99 range.
(現在バージョン4.21.1が使われていますが、Landoは2.1.0.0〜4.16.99の間のバージョンが必要です)
1つ前の「指定バージョンをインストールしたい場合」項目を参考にして、指定されている範囲内のDocker Desktopをインストールしましょう。
インストールして再度「lando start」コマンドを実行すれば、警告文が表示されることなく正常に起動します。
Drush
DrushはDrupalの管理画面から行うような操作をコマンドラインから実行・設定できるようになるツールです。
細かい内容は過去に記事にしているので、そちらをぜひご覧ください。
今回はすでにインストールは完了している想定で、LandoのDrushをアップデートします。
参考:ターミナルからDrupalを操作する「Drush」コマンドのインストール方法や基本的な使い方
マイナーアップデートの反映
まずは現状のDrushバージョンを確認します。
下記のコマンドでDrushのバージョンが返ってきます。
lando drush ○○
確認ができたら下記コマンドを実行して、Drushをインストールします。
composer require drush/drush
これで再度バージョンを確認すると、バージョンが「11.1.1」から「11.6.0」にアップデートされていることが分かります。
メジャーアップデートの反映
先ほどの方法だと、仮に「12.○.○」のバージョンが出ていても、そのバージョンにはアップデートされません。
あくまでマイナーアップデートを反映するのみです。
メジャーアップデートも含めて最新のバージョンにアップデートしたい場合は、バージョン情報が書かれている「composer.lock」を削除します。
削除したら再度Drushのインストールを行います。
composer require drush/drush
これで改めてバージョンを確認してみると「12.1.2.0」になっていて、2023年7月時点の最新のDrushにアップデートできたことが分かります。
ちなみに、Drushのメジャーバージョンは、対応しているDrupalのメジャーバージョンで分けられています。
「Drush 12.○.○」系はDrupal 10にのみ対応しています。
他バージョンの情報はDrushのInstallページに載っていますので、使っているDrupalのバージョンと照らし合わせてインストール・アップデートしてください。
指定バージョンをインストールしたい場合
最新ではなく、特定のバージョンにしたい場合は「composer require」コマンドでDrushを指定したあとに、バージョン情報を追加します。
composer require drush/drush "11.6.0"
この場合も「composer.lock」ファイルがあるとバージョンが固定されてしまってうまくいきません。
ファイルを削除してからコマンドを実行すると、指定バージョンがインストールされます。
PHP(Lando上のPHP)
PHPはLandoでプロジェクトを作成するタイミングで、一緒にインストールされます。
まずは下記コマンドで現状のPHPバージョンを確認しましょう。
lando php -v
このとき「lando」を先頭に付けずに「php -v」で実行してしまうと、PC本体にグローバルでインストールされているPHPのバージョンが表示されてしまうので注意しましょう。
使用するPHPのバージョンを変更したい場合は「.lando.yml」ファイルを修正します。
ちなみにこのファイルは「.(ピリオド)」から開始している不可視ファイルと呼ばれるファイルです。
デフォルトのFinderでは非表示になっていて、shift + command + .(ピリオド)のショートカットキーで表示・非表示を切り替えられます。
ファイルを開くと下記のようになっていると思います。
name: mylandodrupal10
recipe: drupal10
config:
webroot: web
この1番下に下記PHPのバージョン指定を追加します(「php:8.2」の部分は変更したいPHPバージョンに修正してください)。
services:
appserver:
type: php:8.2
これでファイルを保存して、Landoを再構築します。
lando rebuild
「Are you sure you want to rebuild? (y/N)(本当に再構築しますか?)」と聞かれるので、「y」を入力してenterを押すと再構築が開始します。
再構築後に改めてLandoのPHPバージョンを確認すると、指定したバージョンに変わっています。
まとめ
今回はLandoを中心とした、ローカル開発環境構築のために使用したツールのアップデート方法について紹介しました。
基本的にプロジェクトの途中で大きくバージョンを変えることはトラブルの元になってしまうのでオススメできません。
しかし、トラブルの元とはいえ、いつまでも古い環境のまま使うのはよくありません。
LandoやDocker Desktopをアップデートするのであれば、プロジェクト開始前などキリのいいタイミングに行うのが安全です。
また、PHPやDrushのバージョンアップはDrupal本体のバージョンアップのタイミングで必要かどうか調べてから行うのがオススメです。
タイミングを見てアップデートし、適切な環境で開発ができるようにしましょう。

モチヤスタッフ
Drupalなど技術に関する投稿をモチヤのスタッフが行っています。