未能在 Mac(Apple M1)上安装 opencv4nodejs 会引发找不到路径错误

Posted

技术标签:

【中文标题】未能在 Mac(Apple M1)上安装 opencv4nodejs 会引发找不到路径错误【英文标题】:Failing to install opencv4nodejs on Mac (Apple M1) throws path not found error 【发布时间】:2021-06-21 19:06:29 【问题描述】:

INBASDLP13987:~ kanopi$ sudo npm install -g opencv4nodejs 密码: npm 错误!代码 1 npm 错误!路径 /opt/homebrew/lib/node_modules/opencv4nodejs npm 错误!命令失败 npm 错误!命令 sh -c node ./install/install.js npm 错误!使用 lib 目录安装信息:/opt/homebrew/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv/build/lib npm 错误! /opt/homebrew/lib/node_modules/opencv4nodejs/install/install.js:37 npm 错误! throw new Error('库目录不存在:' + libDir) npm 错误! ^ npm 错误! npm 错误!错误:库目录不存在:/opt/homebrew/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv/build/lib npm 错误!在对象。 (/opt/homebrew/lib/node_modules/opencv4nodejs/install/install.js:37:9) npm 错误!在 Module._compile (node:internal/modules/cjs/loader:1092:14) npm 错误!在 Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10) npm 错误!在 Module.load (node:internal/modules/cjs/loader:972:32) npm 错误!在 Function.Module._load (节点:internal/modules/cjs/loader:813:14) npm 错误!在 Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12) npm 错误!在节点:internal/main/run_main_module:17:47

npm 错误!可以在以下位置找到此运行的完整日志: npm 错误! /Users/kanopi/.npm/_logs/2021-03-25T01_15_39_828Z-debug.log

请帮忙解决这个问题...

还尝试了以下方法:

npm 我 opencv4nodejs npm WARN 已弃用 urix@0.1.0:请参阅 https://github.com/lydell/urix#deprecated npm WARN 已弃用 har-validator@5.1.5:不再支持此库 npm WARN 已弃用 resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated npm WARN 已弃用 xmldom@0.1.31:由于 CVE-2021-21366 已在 0.5.0 中解决,因此已弃用 npm WARN 已弃用 xmldom@0.4.0:由于 CVE-2021-21366 已在 0.5.0 中解决,因此已弃用 npm WARN 已弃用 chokidar@2.1.8:Chokidar 2 将在节点 v14+ 上中断。升级到 chokidar 3,依赖项减少 15 倍。 npm WARN 已弃用 fsevents@1.2.13:fsevents 1 将在节点 v14+ 上中断,并且可能使用不安全的二进制文件。升级到 fsevents 2。 npm WARN 已弃用 babel-eslint@10.1.0:babel-eslint 现在是 @babel/eslint-parser。此软件包将不再接收更新。 npm WARN deprecated request@2.88.0: request 已被弃用,见https://github.com/request/request/issues/3142 npm 错误!代码 1 npm 错误!路径 /opt/homebrew/lib/node_modules/appium/node_modules/appium-webdriveragent/node_modules/opencv4nodejs npm 错误!命令失败 npm 错误!命令 sh -c node ./install/install.js npm 错误!使用 lib 目录安装信息:/opt/homebrew/lib/node_modules/appium/node_modules/appium-webdriveragent/node_modules/opencv-build/opencv/build/lib npm 错误! /opt/homebrew/lib/node_modules/appium/node_modules/appium-webdriveragent/node_modules/opencv4nodejs/install/install.js:37 npm 错误! throw new Error('库目录不存在:' + libDir) npm 错误! ^ npm 错误! npm 错误!错误:库目录不存在:/opt/homebrew/lib/node_modules/appium/node_modules/appium-webdriveragent/node_modules/opencv-build/opencv/build/lib npm 错误!在对象。 (/opt/homebrew/lib/node_modules/appium/node_modules/appium-webdriveragent/node_modules/opencv4nodejs/install/install.js:37:9) npm 错误!在 Module._compile (node:internal/modules/cjs/loader:1092:14) npm 错误!在 Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10) npm 错误!在 Module.load (node:internal/modules/cjs/loader:972:32) npm 错误!在 Function.Module._load (节点:internal/modules/cjs/loader:813:14) npm 错误!在 Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12) npm 错误!在节点:internal/main/run_main_module:17:47

npm 错误!可以在以下位置找到此运行的完整日志: npm 错误! /Users/kanopi/.npm/_logs/2021-03-25T14_06_03_819Z-debug.log

【问题讨论】:

也试过“npm I opencv4nodejs” 【参考方案1】:

在事先专门安装 opencv-build 时它可以工作,但请确保在 package.json 依赖项中实际上没有定义 opencv-buildopencv4nodejs

所以我所做的就是通过postinstall 安装它们:

"scripts": 
    "postinstall": "npm i opencv-build && npm i opencv4nodejs",

为此,我首先必须在我的情况下安装cmake

brew install cmake

顺便说一句:安装opencv-build 也花费了相当长的时间 - 几分钟非常密集的处理 - 根据发出的额外热量和声音,我一开始还以为它卡住了。

通过这种方法,我们可以使用opencv4nodejs,但它没有被列为依赖项。

【讨论】:

我这样做了,但是运行 appium doctor 显示它仍然没有安装。再次运行它并得到与以前相同的错误。

以上是关于未能在 Mac(Apple M1)上安装 opencv4nodejs 会引发找不到路径错误的主要内容,如果未能解决你的问题,请参考以下文章

在具有 M1 芯片(基于 ARM 的 Apple Silicon)的 Mac 上安装较早版本的 Python(3.8 之前)失败

无法在 M1 Mac 上安装 OpenCV Python

Android Emulator 在 M1 mac/Apple Silicon 上卡住了加载屏幕

如何在 mac M1(Apple 芯片)上使用 google_sign_in api 进行开发

Apple M1 芯片上的随机“断言失败”错误

快速查看 Mac 应用程序是不是与 M1兼容的方法