因工作需要,在mac上做ios自动化,想用上opencv4nodejs做图像定位识别,结果发现网上的资料不全,一坑还一坑,特此记录自己的爬坑历程。

为了这个真的煞费苦心

步骤:1.去官网下载opencv稳定版本,安装好到本地Releases - OpenCV

安装步骤参考文章:OpenCV:mac上安装和配置 - 简书

2.到网上下载opencv_contrib,地址 GitHub - opencv/opencv_contrib: Repository for OpenCV's extra modules

3.关键点来了:因为我本地需要安装的opencv4nodejs路径是 /usr/local/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv/。这个路径是我无数次重新安装npm install -g opencv4nodejs,发现我本地配置的环境变量没生效,导致它还是去网上拉取代码进行编辑,最终报错。

所以我直接创建目录   mkdir /usr/local/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv

然后把官网下载的opencv4.5.5.zip解压后的内容移动到上面目录,我整个挪了过去。

4.配置环境变量:(我比较弱,只会这么写)

OPENCV_INCLUDE_DIR=/usr/local/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv/include

PATH=$PATH:$OPENCV_INCLUDE_DIR

export OPENCV_INCLUDE_DIR

export PATH

OPENCV_LIB_DIR=/usr/local/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv/lib

PATH=$PATH:$OPENCV_LIB_DIR

export OPENCV_LIB_DIR

export PATH

OPENCV_BIN_DIR=/usr/local/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv/bin

PATH=$PATH:$OPENCV_BIN_DIR

export OPENCV_BIN_DIR

export PATH

5.配好之后,终端输入 export OPENCV4NODEJS_DISABLE_AUTOBUILD=1

目的是终止自动构建。

6.输入命令:sudo npm install -g opencv4nodejs --unsafe-perm=true --allow-root

不这么输入的话,我的电脑没办法mkdir -p opencv, 会报错

7.然后折腾了三天,终于安装完成。虽然前面还有诸多报错,但opencv4nodejs终究是安装好了,实际效果后续有待测试。

以上方法参考文章,让我成功安装mac的opencv4nodejs:windows下搭建Appium环境时手动安装opencv4nodejs依赖_rruansishi的博客-CSDN博客_appium opencv

ps:爬坑中发现的问题:

1.npm i -g opencv4nodejs 网速较慢,而且权限有问题,我都直接科学上网了,还是不行,解决办法上面有写。

2.npm i -g opencv4nodejs 编译到98,link报错,一口老血吐出来​Linking CXX shared library ../../lib/libopencv_ximgproc.dylib_百度搜索

3.找不到lib

npm opencv4 throw new Error('library dir does not exist: ' + libDir)

4.brew install opencv@4 贼慢,还不断报错,下载不了

感觉把网上有记录过的坑都爬了一遍,综上所述,原理就是把需要安装和编译的东西都放在自己本地,并配上环境变量,亲测可避坑,阿弥陀佛。

mac ios自动化 appium-doctor 安装opencv4nodejs爬坑记录相关推荐

  1. centos7安装mysql日志空白_centos7安装Mysql爬坑记录 - G

    centos7安装Mysql爬坑记录 查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装任何 ...

  2. mybatis-generator 详细配置及使用,爬坑记录

    mybatis-generator 详细配置及使用,爬坑记录 提示:如果不成功一定是项目路径和 数据库配置出问题,本篇基于 MySQL 8.0.13,调试没有问题. 如果失败,建议使用相同的项目结构, ...

  3. kotlin与java混合开发_使用kotlin和Java混合开发Android项目爬坑记录

    使用kotlin和Java混合开发Android项目爬坑记录 不定期将开发过程中遇到的问题添加在此处,加深记忆. 主要内容包括但不限于java与kotlin语言的一些区别,以及在使用android-s ...

  4. Nuxt(安装部署)爬坑指南

    Nuxt.js使用详细说明 这篇文章主要向大家介绍Nuxt爬坑,主要内容包括基础应用.实用技巧.原理机制等方面,希望对大家有所帮助. https://www.shangmayuan.com/a/dcd ...

  5. centos7 安装mysql8_CentOS7中安装MySQL8.0.21爬坑记录

    在CentOS7.3中安装了MySQL8.0.21之后,就开启了一段漫长的爬坑历程,简要回顾如下: 一.从Win10中用Navicat连接安装好的MySQL服务器 出现如下异常:1045 - Acce ...

  6. ubuntu20安装gdb插件gef的爬坑记录

    0x00 环境 ubuntu20.04.2.0 0x01 踩坑过程 1.按照官网教程安装 官网地址:https://github.com/hugsy/gef 按照官网提示安装,wget报TLS连接错误 ...

  7. win10 系统下安装ubuntu实现双系统爬坑记录

    谨以此教程纪念一下自己的爬坑之旅,如有问题,敬请大神指正; 不同电脑的配置和环境不同,本博客提供的方法仅供参考! 首先呢,基于想要在电脑上装一个实体Linux系统的夙愿,找了很多教程,得知个人电脑比较 ...

  8. 全局安装nuxt_Nuxt爬坑

    nuxt.js简单的说是Vue.js的通用框架,最常用的就是用来作SSR(服务器端渲染).Vue.js是开发SPA(单页应用)的,Nuxt.js这个框架,用Vue开发多页应用,并在服务端完成渲染,可以 ...

  9. cygwin安装JohnTheRipper 爬坑

    抱歉坑太多了,最后还是没完成.但是趟过的坑记录还是保留下来吧,或者能帮到别人. 1. 下载解压JohnTheRipper源码 https://github.com/openwall/john/arch ...

  10. 03、Swagger2和Springmvc整合详细记录(爬坑记录)

    时间 内容 备注 2018年6月18日 基本使用 spirngmvc整合swagger2 开始之前这个系列博文基本是,在项目的使用中一些模块的内容记录,但是后期逐渐优化,不单单是整合内容. swagg ...

最新文章

  1. 紧迫感:在危机中变革
  2. DELPHI 指针使用用的一篇好文 收藏
  3. 如何使用插件生成自定义Java 8代码
  4. Openssl证书管理
  5. 谷歌和GitHub 联手提出新方法,提振软件供应链安全
  6. php fopen 清空文件内容,如何在c语言中清空文件里的内容?
  7. LNMP笔记:安装 Xcache 缓存扩展,降低服务器负载
  8. C# 中 动态获得或设置一个对象的值
  9. Python 数据恢复实战 - 恢复U盘中的chk文件,以及误删的文件
  10. 解决marathon上docker实例一直waitting的问题
  11. index函数python什么意思,python index函数是什么
  12. 计算机网络 路由选择,路由选择
  13. linux 关闭zombie进程
  14. 2011年10月买到Incredible S G11山寨,大家警惕!
  15. Vue3中Vuex的使用
  16. 静电场电位与电场强度matlab,基于MATLAB的静电场模拟
  17. OpenGL学习记录
  18. SQL 之 ROW_NUMBER() OVER函数用法
  19. 马斯克为房地产代言“献身”,洗泡泡浴还被五花大绑,看完广告我瞎了
  20. Python爬虫实战+Scrapy框架 爬取当当网图书信息

热门文章

  1. Android NDK开发1——开发流程+依赖外部so+生成自实现so+静态注册JNI+动态注册JNI
  2. 安装最新版 MySQL 8.0.30
  3. 激光共聚焦如何选择荧光染料
  4. 灰色预测模型matlab预测20个数据,怎么matlab灰色模型预测这组数据的下一...
  5. matlab 加根号
  6. 运筹优化算法工程师面试汇总
  7. 驱动板LVDS输出接口(发送器),液晶面板LVDS输入接口(接收器)
  8. eNSP配置VLAN间路由
  9. Mybatis-plus 代码生成器(新)工具类
  10. 用python实现文件加密功能