• mac解决appium-doctor报opencv4nodejs cannot be found.


    最初我安装的nodejs是15.0版本,比较高,一直出现各种各样的报错,无奈只能卸载干净,重启电脑

    参考https://blog.csdn.net/weixin_39534759/article/details/111282386

    fatal error: too many errors emitted, stopping now [-ferror-limit=]

    20 errors generated.

    make: *** [Release/obj.target/opencv4nodejs/cc/tracking/MultiTracker.o] Error 1

    3 warnings generated.

    2 warnings generated.

    44 warnings generated.

    gyp ERR! build error

    gyp ERR! stack Error: `make` failed with exit code: 2

    gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/cnpm/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)

    gyp ERR! stack     at ChildProcess.emit (node:events:378:20)

    gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)

    gyp ERR! System Darwin 19.6.0

    gyp ERR! command "/usr/local/Cellar/node/15.8.0/bin/node" "/usr/local/lib/node_modules/cnpm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--jobs" "max"

    gyp ERR! cwd /usr/local/Cellar/node/15.8.0/lib/node_modules/opencv4nodejs

    gyp ERR! node -v v15.8.0

    gyp ERR! node-gyp -v v5.1.0

    gyp ERR! not ok

    解决方法:

    将node版本回退到低版本。

    开始卸载nodejs 然后重新安装低版本

    1、卸载npm命令行:sudo npm uninstall npm -g    

    2、删除node创建的文件夹命令行:sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
    3、删除node创建的文件夹命令行:sudo rm -rf /usr/local/include/node /Users/$USER/.npm     
    4、 删除node命令行:sudo rm /usr/local/bin/node    
    5、删除node的man手册的命令行:sudo rm /usr/local/share/man/man1/node.1  
    6、删除node文件的命令行:sudo rm /usr/local/lib/dtrace/node.d 

    经过以上6个命令行按从1到6的操作顺序执行完毕之后,要验证一下是否彻底卸载node,
    而且node在创建的时候各种文件夹有太多,而且分布也十分杂乱,如果觉得电脑中没有删除干净的话,
    可以执行以下两个命令再查看一下,然后继续删除,
    具体操作如下所示:
    1、在/usr/local文件夹下查找以npm开头的文件命令行:find /usr/local -name 'npm*'
    2、在/usr/local文件夹下查找以node开头的文件命令行:find /usr/local -name 'node*'
    注意:在进行删除对应的npm开头或者node开头的文件的时候,
    要注意不要把其他应用中以npm或node开头的文件删掉,切记。

    进行卸载node之后,重启一下Mac电脑,Mac会把与npm相关的命令重新设置一下,
    然后为了确定最终是否彻底卸载,需要执行以下命令确认一下:
    1、执行查看npm命令:npm -v  如果Mac电脑终端显示结果是 -bash: npm: command not found,那么就说明卸载成功了
    2、执行查看node命令:node -v如果Mac电脑终端显示结果是 -bash: node: command not found,那么说明也卸载成功了经过上述一系列的操作之后,node就算彻底卸载了。

    重新安装nodejs我参考这个帖子https://blog.csdn.net/u010416101/article/details/102944546,

    用的是安装包 下载地址http://nodejs.cn/download/ 记得下载tar包,不推荐用brew和dmg安装

    tar.gz安装 (推荐)----参考

    • 安装
      下载tar.gz包. 解压tar.gz包. 创建软连接. 配置/etc/profile文件.
      具体操作流程如下:
    # 1. 前往安装目录
    SeandeMacBook-Pro:Software sean$ cd Software/NodeJS/
    
    # 把下载的tar.gz包
    # 2. 解压安装包(可以手动解压 / 也可以使用tar.gz命令解压)
    # 解压完成
    SeandeMacBook-Pro:NodeJS sean$ ls
    node-v12.13.0-darwin-x64	node-v12.13.0-darwin-x64.tar.gz
    SeandeMacBook-Pro:NodeJS sean$ pwd
    /Users/sean/Software/NodeJS
    
    # 创建软连接(我没有操作这步)
    SeandeMacBook-Pro:NodeJS sean$ ln -s /Users/sean/Software/NodeJS/node-v12.13.0-darwin-x64 /Users/sean/Software/NodeJS/current
    
    # 在/etc/profile文件末尾加入如下(我的是别的)
    # NodeJS 20191104
    export NodeJS_HOME=/Users/sean/Software/NodeJS/current
    export PATH=.:$PATH::$NodeJS_HOME/bin
    • 验证 # npm -v  node -v

    ---以下是我自己的步骤:
    我解压后放置的文件路径是:/Users/yuan/Desktop/softwareinstall/NodeJS

    配置环境变量为:

    open .bash_profile

    #在/etc/profile文件末尾加入如下
    #NodeJS 20191104
    export NodeJS_HOME=/Users/yuansanmei/Desktop/softwareinstall/NodeJS/node-v14.15.4-darwin-x64
    #export PATH=$PATH:$NodeJS_HOME/bin
    export PATH=.:$PATH::$NodeJS_HOME/bin

    保存使之生效:

    source .bash_profile

    验证:

    然后开始安装npm i -g opencv4nodejs

    出现报错:

    make: *** [all] Error 2
    ERR! child process exited with code 2 (for more info, set '--loglevel silly')
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! opencv-build@0.1.9 install: `node ./install.js`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the opencv-build@0.1.9 install script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    make:**[all]错误2
    呃!子进程已退出,代码为2(有关详细信息,请设置'--loglevel')
    npm错误!代码失效循环
    npm错误!错误1
    npm错误!opencv构建@0.1.9安装:`node/安装.js`
    npm错误!退出状态1
    npm错误!
    npm错误!失败于opencv构建@0.1.9安装脚本。
    npm错误!这可能不是npm的问题。上面可能有额外的日志输出。

    解决方案参考帖子https://www.jianshu.com/p/ff70a73c4178:

    官方参考帖子为:https://github.com/justadudewhohacks/opencv4nodejs

    命令行先后执行:

    export OPENCV4NODEJS_DISABLE_AUTOBUILD=1

    npm i -g opencv4nodejs

    然后再次验证appium-doctor

    info AppiumDoctor  ✔ opencv4nodejs is installed at: /Users/yuan/Desktop/softwareinstall/NodeJS/node-v14.15.4-darwin-x64/lib. Installed version is: 5.6.0

  • 相关阅读:
    phoneGap
    backbonejs使用
    优化后的光标插件
    选择文本,范围
    js最佳继承范型
    深入理解事件捕获冒泡
    keyCode,charCode,which
    与IE奋战的血泪史
    【程序员的自我修养】如何使用IRC
    【程序员的自我修养】写给新手程序员的一封信
  • 原文地址:https://www.cnblogs.com/yiyaxuan/p/14403817.html
Copyright © 2020-2023  润新知