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

 

posted @ 2021-02-15 15:42  阳光美美哒  阅读(540)  评论(0编辑  收藏  举报