Docker环境下WP CLI无法识别Acorn命令的问题求助
WP CLI无法识别Acorn包的解决方案
问题场景
基于wordpress:cli-php8.2镜像的Docker容器中,WP CLI功能正常,但无法识别Acorn的acorn命令。已尝试以下安装方式均无效:
- 插件目录执行
composer require roots/acorn失败 - WP安装根目录执行
composer require roots/acorn失败 - 执行
wp package install roots/acorn --allow-root显示安装成功,但命令仍不被识别 - 全局执行
composer global require roots/acorn无效 - 已运行
composer dump-autoload和composer post-dump-autoload,问题依旧
解决步骤
1. 配置WP CLI加载Acorn指令
Acorn的WP CLI命令需要手动指定加载路径。在WP根目录创建或修改wp-cli.yml文件,添加:
require: - vendor/roots/acorn/wp-cli.php
若Acorn安装在非默认路径,替换为实际的wp-cli.php路径。
2. 验证自动加载与临时指定路径
若配置文件修改无效,可临时在执行命令时指定自动加载文件:
wp --require=/var/www/html/vendor/autoload.php acorn --allow-root
如果此命令生效,说明需要确保WP CLI始终加载项目的自动加载文件,可将该路径加入wp-cli.yml的require列表。
3. 排查Docker环境权限与路径
- 确保容器内
/var/www/html目录及vendor文件夹权限正确,WP CLI运行用户(通常为root)拥有读取权限 - 优先在WP项目根目录安装Acorn,而非全局Composer目录,WP CLI默认优先加载项目本地依赖
4. 确认版本兼容性
检查Acorn版本与WordPress、PHP 8.2的兼容性,执行以下命令查看当前版本:
composer show roots/acorn
若版本不兼容,指定兼容版本重新安装:
composer require roots/acorn:^3.0 --dev
5. 清除WP CLI命令缓存
WP CLI会缓存已注册的命令列表,执行以下命令清除缓存后重试:
wp cli cache clear --allow-root
内容的提问来源于stack exchange,提问作者Johnny
相关产品推荐
相关产品推荐

