本地Xubuntu运行wp-env时出现ERR_INVALID_ARG_TYPE错误求助
解决wp-env start触发的TypeError [ERR_INVALID_ARG_TYPE]问题
这个问题我之前帮不少开发者排查过,核心原因是你的Node.js v8.10.0版本过于老旧,和@wordpress/env的运行要求不兼容。具体来说,Node.js v8里的util.promisify API对参数的校验比高版本严格很多,wp-env代码中用到的部分函数无法被这个版本的promisify正确处理,直接抛出了类型错误。
解决方案步骤
- 首先升级Node.js到符合要求的版本
@wordpress/env要求Node.js版本至少为14.0.0,建议安装LTS长期支持版本(比如16.x或18.x,稳定性更好)。在Xubuntu上可以用nvm(Node版本管理器)来灵活管理版本:- 先卸载旧版本的Node.js(避免冲突,可选操作):
sudo apt remove nodejs npm - 安装nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash - 重启终端,或者执行以下命令让nvm立即生效:
source ~/.bashrc - 安装最新的LTS版本Node.js:
nvm install --lts - 设置默认使用这个LTS版本:
nvm alias default lts/* - 验证版本是否升级成功:
node -v npm -v
- 先卸载旧版本的Node.js(避免冲突,可选操作):
- 重新安装@wordpress/env(确保依赖适配新Node版本,可选但推荐):
sudo npm -g uninstall @wordpress/env sudo npm -g i @wordpress/env - 最后再次尝试启动wp-env:
wp-env start
补充说明
你之前执行sudo npm -g i @wordpress/env能成功,是因为npm默认不会强制检查包的Node版本兼容性(除非包的配置里明确设置了严格版本校验),所以安装过程不会报错,但运行时因为底层API不兼容就触发了这个错误。
内容的提问来源于stack exchange,提问作者Myuser03
相关产品推荐
相关产品推荐

