クイックスタート
- 1. お使いのオペレーティングシステムの指示に従って、Docker Desktopをダウンロード、インストール、起動します。
- 2. ターミナルで
npm -g install @wordpress/env
を実行して、wp-env
をグローバルにインストールします。 - 3. ターミナルで既存のプラグインディレクトリ、テーマディレクトリ、または新しい作業ディレクトリに移動します。
- 4. ターミナルで
wp-env start
を実行して、ローカルのWordPress環境を起動します。 - 5. スクリプトが実行された後、
http://localhost:8888/wp-admin
に移動し、ユーザー名admin
とパスワードpassword
を使用してWordPressダッシュボードにログインします。
Docker Desktopの設定
wp-env
ツールは、Dockerを使用してローカルWordPressサイトを実行する仮想マシンを作成します。Docker Desktopアプリケーションは、小規模企業、個人使用、教育、非商業オープンソースプロジェクトに対して無料です。詳細については、FAQを参照してください。
以下のリンクを使用して、お使いのオペレーティングシステム用のDocker Desktopをダウンロードしてインストールします。
Ubuntuのバージョンが20.04.1以前の場合は、以下の追加のトラブルシューティングノートを参照してください。
インストールが成功したら、Docker Desktopアプリケーションを起動し、セットアップのためのプロンプトに従ってください。一般的には推奨される(デフォルトの)設定を使用し、Dockerアカウントの作成は任意です。
wp-envのインストールと実行
wp-env
ツールは、Dockerを使用してローカルWordPress環境を作成するために使用されます。したがって、Docker Desktopを設定した後、ターミナルを開き、次のコマンドを実行してwp-env
をインストールします:
npm -g install @wordpress/env
これにより、wp-env
がグローバルにインストールされ、任意のディレクトリからツールを実行できるようになります。インストールされているかどうかを確認するには、wp-env --version
を実行し、バージョン番号が表示されるはずです。
次に、ターミナルで既存のプラグインディレクトリ、テーマディレクトリ、または新しい作業ディレクトリに移動し、次のコマンドを実行します:
wp-env start
スクリプトが完了すると、ローカル環境にアクセスできます:http://localhost:8888
。ユーザー名admin
とパスワードpassword
を使用してWordPressダッシュボードにログインします。
Gutenbergのような一部のプロジェクトには、独自の特定のwp-env
構成が含まれており、ドキュメントがnpm run start wp-env
を実行するように促す場合があります。
Docker環境の制御に関する詳細については、@wordpress/envパッケージのREADMEを参照してください。
wp-envを実行する場所
wp-env
ツールは、ほぼどこでも実行できます。単一のプラグインを開発しているときにスクリプトを使用すると、wp-env start
はプラグインを含むディレクトリから実行されると自動的にプラグインをマウントしてアクティブ化できます。これは、テーマを開発しているディレクトリから実行される場合にも機能します。
プラグインやテーマでないディレクトリからwp-env start
を実行すると、一般的なWordPress環境が作成されます。スクリプトは次の警告を表示しますが、これが意図である場合は無視してください。
!! Warning: could not find a .wp-env.json configuration file and could not determine if 'DIR' is a WordPress installation, a plugin, or a theme.
<a name="uninstall-or-reset-wp-env"></a>
### wp-envのアンインストールまたはリセット
再スタートする必要がある場合や、インストールされたものを削除したい場合のいくつかの手順を以下に示します。
- WordPressデータベースをリセットしてクリーンにしたいだけの場合は、`````wp-env clean all`````を実行します。
- 特定のプロジェクトのローカル環境を完全に削除するには、`````wp-env destroy`````を実行します。
- `````wp-env`````ツールをグローバルにアンインストールするには、`````npm -g uninstall @wordpress/env`````を実行します。
<a name="troubleshooting"></a>
## トラブルシューティング
<a name="common-errors"></a>
### 一般的なエラー
`````wp-env`````を使用しているときに、エラー`````Error while running docker-compose command`````が発生することがよくあります。
- Docker Desktopが起動して実行中であることを確認してください。
- Docker Desktopダッシュボードでログを確認し、既存の仮想マシンを再起動または削除します。
- その後、`````wp-env start`````を再実行してみてください。
エラー`````Host is already in use by another container`````が表示された場合:
- 起動しようとしているコンテナはすでに実行中であるか、別のコンテナが実行中です。`````wp-env stop`````を実行して、開始したディレクトリから既存のコンテナを停止できます。
- `````wp-env`````を開始したディレクトリを覚えていない場合は、`````docker stop $(docker ps -q)`````を実行してすべてのコンテナを停止できます。これにより、すべてのDockerコンテナが停止するため、注意して使用してください。
- その後、`````wp-env start`````を再実行してみてください。
<a name="ubuntu-docker-setup"></a>
### Ubuntu Dockerの設定
Ubuntuのバージョンが20.04.1以前の場合、`````wp-env`````を使用してローカルWordPress環境を設定する際にエラーが発生する可能性があります。
これを解決するには、Dockerの[インストールガイド](https://docs.docker.com/install/linux/docker-ce/ubuntu/)に従って開始します。`````docker-compose`````も必要であり、別途インストールする必要があるかもしれません。[Docker composeのドキュメント](https://docs.docker.com/compose/install/)を参照してください。
Dockerと`````wp-env`````がインストールされ、`````wp-env`````がグローバルに構成されていると仮定して、ディレクトリで`````wp-env start`````を実行してみてください。このエラーが発生した場合:
``````bash
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
`
まず、Dockerが実行中であることを確認してください。ps -ef | grep docker
を実行すると、次のような結果が返されるはずです:
/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Dockerが実行されていない場合は、sudo systemctl start docker.service
を実行してサービスを起動してみてください。
Dockerが実行中の場合、WordPress環境が通信しようとしている方法をリッスンしていない可能性があります。次のサービスオーバーライドファイルを追加して、tcp
でリッスンするように設定してみてください。このDockerのドキュメントを参照して、Dockerデーモンのリモートアクセスを構成する方法を確認してください。
# /etc/systemd/system/docker.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2376
コマンドラインからサービスを再起動します:
sudo systemctl daemon-reload
sudo systemctl restart docker.service
サービスを再起動した後、環境変数DOCKER_HOST
を設定し、次のようにwp-env
を起動してみてください:
export DOCKER_HOST=tcp://127.0.0.1:2376
wp-env start
あなたの環境はhttp://localhost:8888
に設定されるはずです。
追加リソース
- @wordpress/env(公式ドキュメント)
- Docker Desktop(公式ドキュメント)
- wp-envを使用した簡単で迅速なローカルWordPress開発(WordPress開発者ブログ)
- wp-env:WordPressのためのシンプルなローカル環境(Make WordPress Coreブログ)
wp-env
の基本図(Excalidraw)