wp-env起動時のエラー修正方法
しばらく放置されていたWordPressのプラグインをメンテナンスする機会があったので、 WordPress公式のローカル環境構築ツール@wordpress/env (wp-env)を使ってみました。 ところが、起動時にmysqlcheckエラーがでてしまい使用できませんでした。 未だ詳細は不明なままですが、一先ず正常に起動できたのでまとめておきます。
使用しているバージョンは下記のとおりです。
- docker: 20.10.6, build 370c289
- node: 14.17.0
- npm: 7.15.0
- wp-env: 4.0.4
- platform: Ubuntu 18.04.5 LTS
結論から言ってしまえば、みつけたブログ記事 1 のとおりwp-envが作成した ボリュームを再作成することで、正常に起動できました。
wp-envのインストールと起動
npm -g i @wordpress/env
wp-env start
マニュアル 記載のとおり、wp-env
をインストールしてプラグインのディレクトリーで 起動したところ、下記のようなエラーが表示されました。
mysqlcheck: Got error: 1130: Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MariaDB server when trying to connect
dockerでコマンドで確認すると、コンテナは実行されています。
ブラウザーでlocalhost:8888
に接続すると Error establishing a database connection
と 表示されており、データベースとの接続に失敗しているようです。
マニュアル記載のトラブルシューティング 2 を試してみましたが、 自分の環境では解決しませんでした。
そこで前述のブログ記事に記載されている方法を試してみます。
wp-envが作成したコンテナ名の確認
docker ps
のNAMES列を確認します。
NAMES
e7350d785574a7063b9d44419e0eda6a_wordpress_1
e7350d785574a7063b9d44419e0eda6a_tests-wordpress_1
e7350d785574a7063b9d44419e0eda6a_mysql_1
e7350d785574a7063b9d44419e0eda6a_tests-mysql_1
ボリュームの再作成
上記の例でいうと~/wp-env/e7350d785574a7063b9d44419e0eda6a
内にwp-envが コンテナ作成に使用したdocker-composer.ymlやDockerfileが格納されています。
このディレクトリーに移動して、docker-composeを使用して ボリュームを作成し直します。
cd ~/wp-env/e7350d785574a7063b9d44419e0eda6a
docker-compose down -v
docker-compose up -d
wp-envの再起動
プラグインのデータがあるディレクトリーに戻ってwp-envを起動します。
cd my-project
wp-env start
✔ Done!
が表示されれば、正常に動作しています。
.wp-env.jsonの作成
WordPressプラグインやテーマを含むディレクトリーでwp-env start
すると、 そのディレクトリーにあるプラグインもしくはテーマを環境内にマウントして 有効化します。
ただし、有効化に失敗した場合、データは環境にマウントされてもWordPressの 管理画面には表示されませんので、.wp-env.json
を作成しておいた方が良さそうです。
{
"core": null,
"mappings": {
"wp-content/plugins/my-plugin": "./my-plugin",
"wp-content/themes/my-theme": "../my-theme"
},
}
エラーの原因もwp-env start
とdocker-compose up
の差がどの辺りにでるのかは わかりませんが、時間が取れれば調べてみたいと思います。
How to Fix MariaDB Error 1130 with wp-env and Docker(greys.co) [EN] Feb 27, 2021 ↩
試したのは、wp-envの再起動、Dockerの再起動、データベースのリセット、
wp-env destroy & wp-env start
です。 ↩
Tag cloud
android (2), bash (1), bitbucket (2), chromebook (2), cifs (1), css (1), docker (1), git (1), gitlab (1), info (1), javascript (3), jekyll (13), markdown (1), nfs (1), nodejs (2), php (2), plugins (5), powerline (1), ruby (1), ssh (1), themes (1), vim (1), windows (1), wordpress (1), wsl (1), xrea (7)