这 @wordpress/env 包裹 (wp-env
)允许您设置一个本地WordPress环境(站点),用于构建和测试插件和主题,而无需任何其他配置。
在遵循本指南之前,安装 Node.js开发工具 如果您还没有这样做。
快速开始
- 下载,安装并开始 Docker桌面 按照操作系统的说明。
- 跑步
npm -g install @wordpress/env
在安装终端中wp-env
全球。 - 在终端中,导航到现有插件目录,主题目录或新的工作目录。
- 跑步
wp-env start
在终端中以启动本地WordPress环境。 - 脚本运行后,导航到
http://localhost:8888/wp-admin
并使用用户名登录WordPress仪表板admin
和密码password
。
设置Docker桌面
这wp-env
工具用途 Docker 创建一个运行本地WordPress网站的虚拟机。Docker Desktop应用程序免费用于小型企业,个人使用,教育和非商业开源项目。看到他们 常问问题 了解更多信息。
使用下面的链接下载并安装操作系统的Docker桌面。
如果您在20.04.1之前使用Ubuntu版本,请参见附加 故障排除笔记 以下。
成功安装后,启动Docker Desktop应用程序,然后按照提示进行设置。通常,您应该使用推荐的(默认)设置,并且创建Docker帐户是可选的。
安装并运行WP-ENV
这wp-env
工具用于使用Docker创建本地WordPress环境。因此,在设置Docker桌面后,打开终端并安装wp-env
通过运行命令:
npm -g install @wordpress/env
这将安装wp-env
在全球范围内,允许该工具从任何目录运行。要确认已安装并可用,请运行wp-env --version
,并且版本编号应该出现。
接下来,导航到现有插件目录,主题目录或终端中的新工作目录并运行:
wp-env start
脚本完成后,您可以访问当地环境:http://localhost:8888
。使用用户名登录WordPress仪表板admin
和密码password
。
wp-env
配置,文档可能会提示您运行npm run start wp-env
反而。有关控制Docker环境的更多信息,请参阅 @wordpress/env软件包 读书我。
在哪里运行wp-env
这wp-env
工具几乎可以从任何地方运行。在开发单个插件时使用脚本时,wp-env start
从包含插件的目录运行时,可以自动安装和激活插件。从您开发主题的目录运行时,这也适用于主题。
如果您运行,将创建通用的WordPress环境wp-env start
来自不是插件或主题的目录。该脚本将显示以下警告,但如果这是您的意图,请忽略。
!! 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.
您也可以使用.wp-env.json
配置文件可以创建一个与多个插件和/或主题一起使用的环境。看到 @wordpress/env软件包 读取文件以获取更多配置详细信息。
卸载或重置WP-ENV
如果您需要重新开始或要删除已安装的内容,这里有一些说明。
- 如果您只想重置和清洁WordPress数据库,请运行
wp-env clean all
- 要完全删除特定项目的本地环境,请运行
wp-env destroy
- 全球卸载
wp-env
工具,运行npm -g uninstall @wordpress/env
故障排除
常见错误
使用时wp-env
,通常会出现错误:Error while running docker-compose command
- 检查docker桌面是否启动和运行。
- 检查Docker桌面仪表板中的日志,重新启动或删除现有的虚拟机。
- 然后尝试重读
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
。
Ubuntu Docker设置
如果您在20.04.1之前使用Ubuntu版本wp-env
。
要解决这个问题,请首先遵循 安装指南 来自Docker。docker-compose
也需要,您可能需要单独安装。参考 Docker撰写文档。
一旦码头和wp-env
已安装,并假设wp-env
已在全球配置,尝试运行wp-env start
在目录中。如果您遇到此错误:
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桌面(官方文件)
- WP-ENV的快速简便的本地WordPress开发(WordPress开发人员博客)
- WP-ENV:WordPress的简单本地环境(制作WordPress核心博客)
wp-env
基础图(Excalidraw)