クイックスタート

  • 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をインストールします:

  1. npm -g install @wordpress/env

これにより、wp-envがグローバルにインストールされ、任意のディレクトリからツールを実行できるようになります。インストールされているかどうかを確認するには、wp-env --versionを実行し、バージョン番号が表示されるはずです。

次に、ターミナルで既存のプラグインディレクトリ、テーマディレクトリ、または新しい作業ディレクトリに移動し、次のコマンドを実行します:

  1. 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環境が作成されます。スクリプトは次の警告を表示しますが、これが意図である場合は無視してください。

  1. !! 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.
  1. <a name="uninstall-or-reset-wp-env"></a>
  2. ### wp-envのアンインストールまたはリセット
  3. 再スタートする必要がある場合や、インストールされたものを削除したい場合のいくつかの手順を以下に示します。
  4. - WordPressデータベースをリセットしてクリーンにしたいだけの場合は、`````wp-env clean all`````を実行します。
  5. - 特定のプロジェクトのローカル環境を完全に削除するには、`````wp-env destroy`````を実行します。
  6. - `````wp-env`````ツールをグローバルにアンインストールするには、`````npm -g uninstall @wordpress/env`````を実行します。
  7. <a name="troubleshooting"></a>
  8. ## トラブルシューティング
  9. <a name="common-errors"></a>
  10. ### 一般的なエラー
  11. `````wp-env`````を使用しているときに、エラー`````Error while running docker-compose command`````が発生することがよくあります。
  12. - Docker Desktopが起動して実行中であることを確認してください。
  13. - Docker Desktopダッシュボードでログを確認し、既存の仮想マシンを再起動または削除します。
  14. - その後、`````wp-env start`````を再実行してみてください。
  15. エラー`````Host is already in use by another container`````が表示された場合:
  16. - 起動しようとしているコンテナはすでに実行中であるか、別のコンテナが実行中です。`````wp-env stop`````を実行して、開始したディレクトリから既存のコンテナを停止できます。
  17. - `````wp-env`````を開始したディレクトリを覚えていない場合は、`````docker stop $(docker ps -q)`````を実行してすべてのコンテナを停止できます。これにより、すべてのDockerコンテナが停止するため、注意して使用してください。
  18. - その後、`````wp-env start`````を再実行してみてください。
  19. <a name="ubuntu-docker-setup"></a>
  20. ### Ubuntu Dockerの設定
  21. Ubuntuのバージョンが20.04.1以前の場合、`````wp-env`````を使用してローカルWordPress環境を設定する際にエラーが発生する可能性があります。
  22. これを解決するには、Dockerの[インストールガイド](https://docs.docker.com/install/linux/docker-ce/ubuntu/)に従って開始します。`````docker-compose`````も必要であり、別途インストールする必要があるかもしれません。[Docker composeのドキュメント](https://docs.docker.com/compose/install/)を参照してください。
  23. Dockerと`````wp-env`````がインストールされ、`````wp-env`````がグローバルに構成されていると仮定して、ディレクトリで`````wp-env start`````を実行してみてください。このエラーが発生した場合:
  24. ``````bash
  25. ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
  26. If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
  27. `

まず、Dockerが実行中であることを確認してください。ps -ef | grep dockerを実行すると、次のような結果が返されるはずです:

  1. /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Dockerが実行されていない場合は、sudo systemctl start docker.serviceを実行してサービスを起動してみてください。

Dockerが実行中の場合、WordPress環境が通信しようとしている方法をリッスンしていない可能性があります。次のサービスオーバーライドファイルを追加して、tcpでリッスンするように設定してみてください。このDockerのドキュメントを参照して、Dockerデーモンのリモートアクセスを構成する方法を確認してください。

  1. # /etc/systemd/system/docker.service.d/override.conf
  2. [Service]
  3. ExecStart=
  4. ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2376

コマンドラインからサービスを再起動します:

  1. sudo systemctl daemon-reload
  2. sudo systemctl restart docker.service

サービスを再起動した後、環境変数DOCKER_HOSTを設定し、次のようにwp-envを起動してみてください:

  1. export DOCKER_HOST=tcp://127.0.0.1:2376
  2. wp-env start

あなたの環境はhttp://localhost:8888に設定されるはずです。

追加リソース