执行webdriver-manager update命令时出现Logger.js语法错误
解决webdriver-manager update时的SyntaxError: Unexpected token ...问题
问题分析
你遇到的这个错误,核心原因是版本兼容性不匹配:
- 你当前用的npm版本是2.5.11,对应的Node.js版本大概率是v0.12.x左右,这个版本的Node.js不支持ES6的扩展运算符(
...)语法; - 而你全局安装的webdriver-manager是12.0.6版本,这个版本已经开始使用ES6语法,旧版本Node.js解析代码时自然会抛出
SyntaxError: Unexpected token ...的错误。
解决方案
这里提供两个可行的解决办法,你可以根据自身情况选择:
方案1:降级webdriver-manager到兼容版本
webdriver-manager的10.x系列版本兼容Node.js v4+(包括你的v0.12.x),你可以全局安装这个稳定版本:
npm install -g webdriver-manager@10.3.0
安装完成后,重新运行命令即可:
webdriver-manager update
这个版本不会用到ES6语法,能正常执行驱动更新操作。
方案2:升级Node.js和npm版本(推荐)
你的Node.js和npm版本都过于老旧,已经不在官方维护范围内,不仅会碰到这类兼容性问题,还存在安全风险。建议你:
- 升级Node.js到至少v8.x以上的LTS版本(比如v14.x或v16.x,稳定性更好);
- Node.js升级完成后,npm会自动更新到对应兼容版本;
- 之后重新安装protractor和webdriver-manager:
npm install -g protractor@5.3.1 npm install -g webdriver-manager
升级后就能支持新版本webdriver-manager的语法,后续也能避免更多类似的兼容性问题。
验证方法
执行完任意方案后,先运行webdriver-manager --version确认版本,再执行webdriver-manager update,应该就能正常下载浏览器驱动了。
内容的提问来源于stack exchange,提问作者Balaji Singh .Y
相关产品推荐
相关产品推荐

