You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统启动Appium出现弃用警告及npm audit运行报错如何解决

Appium启动相关问题排查与解决步骤

报错信息回顾

报错1(npm audit执行失败):

npm ERR! code ENOLOCK
npm ERR! audit This command requires an existing lockfile.
npm ERR! audit Try creating one first with: npm i --package-lock-only
npm ERR! audit Original error: loadVirtual requires existing shrinkwrap file

报错2(Appium启动失败):

(node:24903) [DEP0128] DeprecationWarning: Invalid 'main' field in '/usr/local/lib/node_modules/appium/node_modules/mjpeg-server/package.json' of './lib/mpegserver'. Please either fix that or report it to the module author

1. npm audit ENOLOCK报错处理

  • 报错原因:当前执行命令的目录不存在package-lock.json或npm-shrinkwrap.json依赖锁定文件,npm audit功能必须依赖锁定文件才能完成漏洞扫描。该报错是因为在普通目录执行全局扫描导致,和Appium启动失败无直接关联。
  • 修复方案:
    • 若需要扫描全局Appium的依赖漏洞,先切换到Appium全局安装目录再执行命令:
      cd /usr/local/lib/node_modules/appium
      npm audit
      
    • 若无漏洞扫描需求,该报错可直接忽略,不会影响Appium正常运行。

2. DEP0128弃用警告启动失败处理

  • 报错原因:Appium依赖的mjpeg-server组件的package.json配置错误,main字段指向的./lib/mpegserver路径不存在,高版本Node.js会对该类无效配置抛出弃用警告,严重时会阻断Appium启动流程。
  • 修复方案(按优先级排序):

    方案一:升级Appium到最新稳定版

    该问题是旧版Appium的已知依赖问题,新版已完成修复,直接执行全局升级命令即可:
    npm install -g appium@latest
    
    升级完成后重新启动Appium验证,绝大多数场景可直接解决问题。

    方案二:手动修改mjpeg-server配置

    若因业务兼容性要求必须保留当前Appium版本,可手动修正配置错误:
    1. 进入mjpeg-server安装目录:
      cd /usr/local/lib/node_modules/appium/node_modules/mjpeg-server
      
    2. 打开package.json文件,找到main配置项,将值从./lib/mpegserver修改为./lib/mjpegserver
    3. 保存文件后重新启动Appium即可。

    方案三:临时屏蔽警告启动(仅应急使用)

    若仅需临时启动Appium完成测试,可添加Node.js运行参数忽略弃用警告,启动命令修改为:
    NODE_OPTIONS="--no-deprecation" appium
    
    该方案仅屏蔽警告输出,不会修复根因,不推荐长期使用。

内容的提问来源于stack exchange,提问作者Rauf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 03:36:04