Mac终端启动Appium v2.0.0-rc.3时sharp模块加载失败
解决Appium v2.0.0-rc.3加载uiautomator2驱动时sharp模块缺失问题
问题描述
在Mac终端启动Appium v2.0.0-rc.3服务器时,无法加载uiautomator2驱动,报错核心为sharp模块缺失sharp-darwin-x64.node文件。
软件版本信息
- Mac 13.4 (22F66)
- 处理器:1.4 GHz 四核Intel Core i5
- Appium v2.0.0-rc.3
- Java 11
- Node 20.3.0
- NPM 9.7.1
- uiautomator2@2.26.1
报错信息
[Appium] Welcome to Appium v2.0.0-rc.3 [Appium] Attempting to load driver uiautomator2... [debug] [Appium] Requiring driver at /Users/manish/.appium/node_modules/appium-uiautomator2-driver [Appium] Could not load driver 'uiautomator2', so it will not be available. Error in loading the driver was: [Appium] Something went wrong installing the "sharp" module [Appium] Cannot find module '../build/Release/sharp-darwin-x64.node' [Appium] Require stack: [Appium] - /Users/manish/.appium/node_modules/appium-uiautomator2-driver/node_modules/sharp/lib/sharp.js
已尝试的解决方案
- 卸载Appium v1.22.3后重新安装Appium 2.0
- 将Node和NPM更新至最新版本
- 执行
npm install --platform=darwin --arch=x64 sharp,安装成功后问题依旧 - 查阅sharp官方文档确认版本兼容性,未发现问题
- 尝试安装sharp-cli:
npm i sharp-cli - 使用管理员账户全局安装sharp
- 更新Homebrew并执行
brew upgrade - 修改node_modules目录权限
- 卸载sharp后全局重新安装并重建:
npm uninstall sharp npm install -g sharp npm cache clean --force sudo npm rebuild sharp
针对性解决方案
定位uiautomator2驱动的sharp依赖目录
进入uiautomator2驱动专属的sharp模块目录:cd /Users/manish/.appium/node_modules/appium-uiautomator2-driver/node_modules/sharp强制重新安装适配架构的sharp
在该目录下执行,确保下载x64架构的Mac版本二进制包:npm install --platform=darwin --arch=x64 --force重装uiautomator2驱动
卸载现有驱动并指定版本重装,避免版本不兼容:appium driver uninstall uiautomator2 appium driver install uiautomator2@2.26.1检查并切换Node架构
确认当前Node运行架构:node -p process.arch若输出为
arm64,说明Node是ARM架构,与x64的sharp不兼容。通过nvm安装x64版本的Node 20.3.0:nvm install 20.3.0 --arch=x64 nvm use 20.3.0之后重新安装uiautomator2驱动。
验证结果
启动Appium服务器检查驱动加载状态:appium --debug-log-spacing若日志显示
[Appium] Loaded driver uiautomator2,则问题解决。
内容的提问来源于stack exchange,提问作者Manish Arya
相关产品推荐
相关产品推荐

