使用npx @wordpress/create-block@latest创建WordPress区块时出错
解决WordPress区块创建时的ajv模块缺失错误
问题重现
执行命令创建WordPress区块:
npx @wordpress/create-block@latest todo-list
编译阶段报错:
Error: Command failed with exit code 2: npm run build [webpack-cli] Error: Cannot find module 'ajv/dist/compile/codegen'
NodeJS版本20.14.0、npm版本10.7.0均符合官方要求。
解决方案
方案1:清理缓存后重新创建
- 删除已生成的区块目录:
# Mac/Linux rm -rf todo-list # Windows rd /s /q todo-list - 清理npm缓存:
npm cache clean --force - 重新执行创建命令:
npx @wordpress/create-block@latest todo-list
方案2:手动处理依赖
如果自动创建仍报错,可跳过自动编译,手动调整依赖:
- 创建区块时跳过
@wordpress/scripts的自动安装与编译:npx @wordpress/create-block@latest todo-list --no-wp-scripts - 进入区块目录:
cd todo-list - 安装基础依赖:
npm install - 安装兼容版本的ajv:
npm install ajv@^8.12.0 - 执行编译:
npm run build
方案3:换用yarn作为包管理器
若npm仍有依赖冲突问题,尝试用yarn替代:
npx @wordpress/create-block@latest todo-list --package-manager yarn
原因说明
该错误多由npm依赖安装时的缓存异常或依赖树中ajv版本不兼容导致——webpack依赖的ajv库版本与其他依赖的ajv版本冲突,引发特定模块找不到的问题。
内容的提问来源于stack exchange,提问作者Benjamin de Monchy
相关产品推荐
相关产品推荐

