【问题标题】:Appium : Getting error: opencv4nodejs module is required to use OpenCV featuresAppium:出现错误:使用 OpenCV 功能需要 opencv4nodejs 模块
【发布时间】:2021-12-16 19:16:39
【问题描述】:

我正在尝试使用 opencv4nodejs 与 appium 进行图像比较,但出现错误。

版本信息

  • 系统 - mac
  • 操作系统:Catalina 10.15.7
  • appium:CLI - 1.22.0
  • 节点:v17.0.1
  • npm : 8.1.0

设置完成到现在

  1. 导出 OPENCV4NODEJS_DISABLE_AUTOBUILD=1 -----在 bash.profile 中
  2. npm install -g appium ----- [位置:/usr/local/lib/node_modules]
  3. npm i -g opencv4nodejs ----- [位置:/usr/local/lib/node_modules]
  4. 使用 'cd' 进入 appium 文件夹 ---- npm link opencv4nodejs ----- [创建的链接显示在 appium 文件夹中]

错误

1.在日食中

org.openqa.selenium.WebDriverException:处理命令时发生未知的服务器端错误。原始错误:使用 OpenCV 功能需要“opencv4nodejs”模块。请先安装('npm i -g opencv4nodejs')并重启Appium。

2。在 appium 服务器日志上

[debug] [XCUITest] 执行命令'compareImages'

dbug 支持初始化 opencv

dbug 支持加载本地包'opencv4nodejs'

dbug支持加载本地包'opencv4nodejs'失败:找不到模块'/usr/local/lib/node_modules/opencv4nodejs/build/Release/opencv4nodejs'

dbug 支持需要堆栈: dbug 支持 - /usr/local/lib/node_modules/opencv4nodejs/lib/cv.js

dbug 支持 - /usr/local/lib/node_modules/opencv4nodejs/lib/opencv4nodejs.js

dbug 支持 - /usr/local/lib/node_modules/appium/node_modules/appium-support/build/lib/node.js

dbug 支持 - /usr/local/lib/node_modules/appium/node_modules/appium-support/build/lib/image-util.js

dbug 支持 - /usr/local/lib/node_modules/appium/node_modules/appium-support/build/index.js

dbug 支持 - /usr/local/lib/node_modules/appium/build/lib/logsink.js

dbug 支持 - /usr/local/lib/node_modules/appium/build/lib/main.js

dbug 支持无法加载全局包“opencv4nodejs”:“路径”参数必须是字符串类型。收到未定义

dbug 支持链接包'opencv4nodejs'

[debug] [WebDriverAgent] Parsed BUILD_DIR 配置值:'/Users/-username-/Library/Developer/Xcode/DerivedData/WebDriverAgent-(一些数据)/Build/Products'

[debug] [WebDriverAgent] Got derived data root: '/Users/-username-/Library/Developer/Xcode/DerivedData/WebDriverAgent-(some data)'

dbug 支持无法加载包“opencv4nodejs”,链接失败:命令“npm link opencv4nodejs”退出,代码为 236

dbug 支持 npm 错误!代码 ENOTDIR

dbug 支持 npm 错误!系统调用重命名

dbug 支持 npm 错误!路径 /Users/-用户名-/node_modules/opencv4nodejs

dbug 支持 npm 错误! dest /Users/-用户名-/node_modules/.opencv4nodejs-YhDFjzvW

dbug 支持 npm 错误!错误号 -20

dbug 支持 npm 错误! ENOTDIR:不是目录,重命名 '/Users/-username-/node_modules/opencv4nodejs' -> '/Users/-username-/node_modules/.opencv4nodejs-YhDFjzvW'

dbug 支持

dbug 支持 npm 错误!可以在以下位置找到此运行的完整日志:

dbug 支持 npm 错误! /Users/-用户名-/.npm/_logs/2021-11-02T08_10_14_713Z-debug.log 调试支持

错误!支持无法加载包'opencv4nodejs':无法加载包'opencv4nodejs',链接失败:命令'npm link opencv4nodejs'以代码236退出

警告支持无法加载'opencv4nodejs':无法加载包'opencv4nodejs':无法加载包'opencv4nodejs',链接失败:命令'npm link opencv4nodejs'退出,代码为236

【问题讨论】:

    标签: node.js opencv appium appium-ios opencv4nodejs


    【解决方案1】:

    我几周前都面临同样的问题,我认为 opnecv4nodejs 在 appium 1.20.xx 上无法正常工作,这是我的解决方案:

    一步一步:

    1. 卸载 opencv-build、opencv4nodejs 和 opencv:

    brew uninstall opecv
    npm uninstall -g opencv-build
    npm uninstall -g opencv4nodejs
    1. 将 Appium 降级到 1.20.xx

    sudo npm uninstall -g appium
    sudo npm install -g appium@1.20.2 --unsafe-perm=true --allow-root --force
    sudo chown -R $(whoami) <path of Appium node modules> (e.g: /usr/local/lib/node_modules/appium)
    1. 将节点降级到 v10.16.1 你可以按照这个步骤How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X) 请不要使用 nvm 或确保您的节点模块位于 usr/loca/lib/node_modules

    2. 设置环境变量以选择 opencv 模块安装 WITH autobuild

    export OPENCV4NODEJS_AUTOBUILD_FLAGS=-DBUILD_LIST=core,imgproc,imgcodecs,videoio,highgui,video,calib3d,features2d,objdetect,dnn,ml,flann,photo,stitching,gapi
    1. 安装 opencv 和 opencv4nodejs

    npm i -g opencv-build
    npm i -g opencv4nodejs

    【讨论】:

      猜你喜欢
      • 2020-04-10
      • 1970-01-01
      • 2020-12-01
      • 2019-06-30
      • 2023-01-13
      • 2019-11-28
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      相关资源
      最近更新 更多