0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【備忘録】M1MacだとWordPress公式ドキュメントのphpunit手順でmysqlが動作しない件

Last updated at Posted at 2021-11-12

事象

phpunitの手順の以下コマンドを実行するとエラーになる。

npm run env:start

エラーメッセージはこんな感じ

WordPress@5.9.0 env:start
node ./tools/local-env/scripts/start.js

Pulling mysql (mysql:5.7)...
5.7: Pulling from library/mysql
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
child_process.js:655
throw err;
^

Error: Command failed: docker-compose up -d wordpress-develop
at checkExecSyncError (child_process.js:616:11)
at execSync (child_process.js:652:15)
at Object. (/Users/takao/WordPress/wordpress-develop/tools/local-env/scripts/start.js:8:1)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47 {
status: 1,
signal: null,
output: [ null, null, null ],
pid: 91303,
stdout: null,
stderr: null
}

解決方法

.envを以下のように修正

修正前

##
# The database software to use.
#
# Supported values are `mysql` and `mariadb`.
##
LOCAL_DB_TYPE=mysql

##
# The database version to use.
#
# Defaults to 5.7 with the assumption that LOCAL_DB_TYPE is set to `mysql` above.
#
# When using `mysql`, see https://hub.docker.com/_/mysql/ for valid versions.
# When using `mariadb`, see https://hub.docker.com/_/mariadb for valid versions.
##
LOCAL_DB_VERSION=5.7

修正後

##
# The database software to use.
#
# Supported values are `mysql` and `mariadb`.
##
LOCAL_DB_TYPE=mariadb

##
# The database version to use.
#
# Defaults to 5.7 with the assumption that LOCAL_DB_TYPE is set to `mysql` above.
#
# When using `mysql`, see https://hub.docker.com/_/mysql/ for valid versions.
# When using `mariadb`, see https://hub.docker.com/_/mariadb for valid versions.
##
LOCAL_DB_VERSION=10.7


mariadbのバージョンは10.7としていますが、https://hub.docker.com/_/mariadbで任意のバージョンを選んでください。

補足

Dockerの公式サイトに以下のように記述されています。
https://matsuand.github.io/docs.docker.jp.onthefly/desktop/mac/apple-silicon/

既知の問題
ARM64 アーキテクチャー向けのイメージがすべて利用可能となっているわけではありません。 Intel イメージの実行には、エミュレーションのもとで--platform linux/amd64をつけて実行することが必要です。 特に mysql イメージは ARM64 向けには利用できません。 これに対する当面の対処としては mariadb イメージを利用してください。

なので、mysqlからmariadbに置き換えました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?