在搭建iOS自动化测试环境时,直接在终端输入npm -g install opencv4nodejs命令安装可能会出现如下error:

npm warn deprecated npmlog@4.1.2: This package is no longer supported.
npm warn deprecated are-we-there-yet@1.1.7: This package is no longer supported.
npm warn deprecated gauge@2.7.4: This package is no longer supported.
npm error code 1
npm error path /Users/wan/.nvm/versions/node/v22.11.0/lib/node_modules/opencv4nodejs
npm error command failed
npm error command sh -c node ./install/install.js
npm error info install using lib dir: /Users/wan/.nvm/versions/node/v22.11.0/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv/build/lib
npm error /Users/wan/.nvm/versions/node/v22.11.0/lib/node_modules/opencv4nodejs/install/install.js:37
npm error   throw new Error('library dir does not exist: ' + libDir)
npm error   ^
npm error
npm error Error: library dir does not exist: /Users/wan/.nvm/versions/node/v22.11.0/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv/build/lib
npm error     at Object.<anonymous> (/Users/wan/.nvm/versions/node/v22.11.0/lib/node_modules/opencv4nodejs/install/install.js:37:9)
npm error     at Module._compile (node:internal/modules/cjs/loader:1546:14)
npm error     at Object..js (node:internal/modules/cjs/loader:1689:10)
npm error     at Module.load (node:internal/modules/cjs/loader:1318:32)
npm error     at Function._load (node:internal/modules/cjs/loader:1128:12)
npm error     at TracingChannel.traceSync (node:diagnostics_channel:315:14)
npm error     at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)
npm error     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:170:5)
npm error     at node:internal/main/run_main_module:36:49
npm error
npm error Node.js v22.11.0
npm error A complete log of this run can be found in: /Users/wan/.npm/_logs/2024-12-03T03_57_54_090Z-debug-0.log

从error日志中可以看出,opencv4nodejs 在安装过程中由于找不到 OpenCV 的库目录而失败,具体是路径 /Users/wan/.nvm/versions/node/v22.11.0/lib/node_modules/opencv4nodejs/node_modules/opencv-build/opencv/build/lib 不存在

以下是关于此error的解决方案

1.检查OpenCV安装

brew install opencv

2.设置环境变量

export OPENCV_INCLUDE_DIR=/opt/homebrew/Cellar/opencv/4.10.0_14/include/opencv4
export OPENCV_LIB_DIR=/opt/homebrew/Cellar/opencv/4.10.0_14/lib
export OPENCV4NODEJS_DISABLE_AUTOBUILD=1

3.再次重装

npm install -g opencv4nodejs

安装完成后查看安装位置

npm ls -g --depth 0

更多推荐