7.0 KiB
开始使用 wp-env
@wordpress/env 包(简称 wp-env)可帮助您快速搭建本地 WordPress 环境(站点),用于插件和主题的开发测试,无需任何额外配置。
在按照本指南操作前,请先确保已安装 Node.js 开发工具。
快速开始
- 根据操作系统说明下载、安装并启动 Docker Desktop
- 在终端中运行
npm -g install @wordpress/env全局安装wp-env - 在终端中进入现有插件目录、主题目录或新建工作目录
- 运行
wp-env start启动本地 WordPress 环境 - 脚本运行完成后,访问
http://localhost:8888/wp-admin,使用用户名admin和密码password登录 WordPress 管理后台
配置 Docker Desktop
wp-env 工具使用 Docker 创建运行本地 WordPress 站点的虚拟机。Docker Desktop 应用程序对小型企业、个人用户、教育机构和非商业开源项目免费。详见官方 FAQ。
点击对应链接下载并安装适用于您操作系统的 Docker Desktop:
若使用早于 20.04.1 的 Ubuntu 版本,请参阅下方的故障排除说明。
成功安装后启动 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 管理后台。
wp-env 配置,文档可能会要求您运行 npm run wp-env start 命令
有关控制 Docker 环境的更多信息,请参阅 @wordpress/env 包 说明文档。
运行环境配置
wp-env 工具几乎可在任意目录运行。在开发单个插件时,在插件所在目录执行 wp-env start 可自动挂载并激活该插件。此规则同样适用于主题开发目录。
若在非插件/主题目录运行 wp-env start,将创建通用 WordPress 环境。此时脚本会显示以下警告,若属预期行为可忽略:
!! 警告:未找到 .wp-env.json 配置文件,且无法判定“DIR”是否为 WordPress 安装目录、插件或主题
您还可以通过 .wp-env.json 配置文件创建支持多插件和/或主题的环境。详细配置说明请参阅 @wordpress/env 包 文档。
卸载或重置 wp-env
以下是一些操作指南,适用于需要重新开始或希望移除已安装内容的情况。
- 如果只需重置并清理 WordPress 数据库,请运行
wp-env clean all - 若要完全移除特定项目的本地环境,请运行
wp-env destroy - 若要全局卸载
wp-env工具,请运行npm -g uninstall @wordpress/env
故障排除
常见错误
使用 wp-env 时,常见错误提示:执行 docker-compose 命令时出错
- 请检查 Docker Desktop 是否已启动并正在运行。
- 查看 Docker Desktop 控制面板中的日志,重启或移除现有的虚拟机。
- 然后尝试重新运行
wp-env start。
如果出现错误:主机已被其他容器占用
- 您尝试启动的容器已在运行,或者存在其他容器占用。您可以通过在启动该容器的目录中运行
wp-env stop来停止现有容器。 - 如果不记得启动
wp-env的目录,可以通过运行docker stop $(docker ps -q)停止所有容器。此操作会停止所有 Docker 容器,请谨慎使用。 - 然后尝试重新运行
wp-env start。
Ubuntu Docker 设置
如果您使用的 Ubuntu 版本早于 20.04.1,在使用 wp-env 设置本地 WordPress 环境时可能会遇到错误。
要解决此问题,请先按照 Docker 的安装指南进行操作。同时需要安装 docker-compose,您可能需要单独安装。请参阅 Docker compose 文档。
安装 Docker 和 wp-env 后,假设 wp-env 已全局配置,尝试在某个目录中运行 wp-env start。如果遇到以下错误:
错误:无法在 http+docker://localhost 连接到 Docker 守护进程——它是否正在运行?
如果它位于非标准位置,请使用 DOCKER_HOST 环境变量指定 URL。
首先,请确保 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)
