0
Help us understand the problem. What are the problem?

posted at

updated at

Organization

M1 MacにMagento2.4の開発用仮想環境を作る

M1 Pro/Maxを積んだMacbook proの販売が始まり、メモリ32GBがこれでやっと選べるという今日このごろ。
日々Magento に泣かされている と戦っている自分としては、ぼちぼちM1 Macを開発機の候補に入れるかなと思い始めました。
というわけで備忘録です。一切の保証はしませんのであしからず。

M1 Macを買ってくる

とりあえず、四の五の言わずにM1 Macbook Airを買ってきました。
さすがにメモリ8GBはDockerを動かす上で不足なので、16GBモデルです。
あとはこだわるポイントとしてUSキー。これは他の端末も揃えているので譲れません。

OSアップデートをする

Big surで検証しても良いのですが、新しいマシンは新しいOSを入れたくなります。
ということでMontereyをインストールします。
このへんまではお約束です。

Docker for Macを入れる

Apple Silicon用のDocker for Macをダウンロードしてきてインストールします。
このとき、Rosettaを入れろと言われます。ネイティブ対応したんちゃうんかい!と思いはしますが、仕方ないので黙って入れます。

Homebrewを入れる

gitやその他諸々を入れたいので、Homebrewを入れます。ここもまあ開発用に使う人はみんなやりますよね(たぶん)。
入れたあとは必要なパッケージ類をゴリゴリ入れます。
今回は動作検証だけなので、

  • git
  • composer

をとりあえず入れておきます。

Magentoのソースを取ってくる

さて、ここでMagentoのソースを取ってきます。

  • githubから開発版をcloneする
  • composerで正式リリース版をインストールする

という2通りの方法がありますが、今回は後者でいきます。

Marketplaceの認証情報を設定する

composerでインストールする場合は、公式Marketplaceの認証情報が必要です。
5年くらい前から手順的には変わっていないので、わからない方は

を読んでいただけると良いかな、と。

PHPを8.0から7.4に変更する

現時点のMagentoはPHP8には対応していません。次の2.4.4でPHP8に対応する予定です。
が・・・。Montereyの標準PHPバージョンは8なので、composer create-projectしようとするとコケます。

仕方がないので、

brew install php@7.4

でPHP7.4をインストールし、

brew unlink php && brew link php@7.4

で切り替えます。切り替え時に.zshrcに追記する内容が示されるので、忘れずに実行しておきましょう。

気を取り直して、composer create-project

PHP7.4に切り替えたら、気を取り直してcomposer create-projectを実行します。

php composer.phar create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <Magento2をインストールしたいディレクトリ>

Magentoの動くDocker環境を作る

M1 Macといえば・・・

  • Dockerは対応イメージなら動く
  • VirtualBoxはだめ
  • Parallelsは動く

という状況です。最近のプロジェクトはほとんどDockerで動かしているので、Dockerが動けばまあなんとかなりそうです。

M1 Mac対応Wardenを入れる

MagentoやSymfony系の開発用Docker環境として「Warden」というものがあります。

Magento2系の開発環境を作るのはそれなりにめんどくさいので、ソースさえあればササッと作れるWardenは重宝しています。
が、公式にはM1 Macには対応していない模様。Issueも上がっていて、まだクローズされていないようです。

とおもったら、Issueの中にフォークプロジェクトの案内が。

今回はこちらを試します。
readmeに書かれている手順通りに実行していけば基本OKですが、起動時に

  • pub/mediaがホスト側からコンテナ側に共有されていないエラー
  • pub/staticがコンテナ側に存在しないので書き込めないエラー

がでます。

まあ、それぞれ共有したりディレクトリ作成すればいいだけなんですが・・・。
(エラーメッセージを読めばすぐわかる話です)

コンテナ一式が起動したら、warden公式のチュートリアル に沿ってインストールを行います。
あとは指定したホスト名にアクセスして、MagentoのTOPページが出ればOK。

とりあえず・・・いけそうです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
0
Help us understand the problem. What are the problem?