justadudewhohacks / opencv4nodejs

Nodejs bindings to OpenCV 3 and OpenCV 4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot find module node_modules/opencv4nodejs/build/Release/opencv4nodejs

fendiflexin opened this issue · comments

commented

I am on windows 11 using Visual Studio Code 2022 to try and build.

Trying to run & build an express node.js app in Visual Studio 2022. I have installed the npm package opencv4nodejs and added the required opencv enviormental variables to my path. When I try to build the app I get this error
Error: Cannot find module 'C:\Users\Tom_R\source\repos\AberothNodeClient\AberothNodeClient\node_modules\opencv4nodejs\build\Release\opencv4nodejs'

Node Version v16.15.1
Npm Version 6.4.17
Cmake version 3.24.0-rc2

`node:internal/modules/cjs/loader:936
throw err;
^

Error: Cannot find module 'C:\Users\Tom_R\source\repos\AberothNodeClient\AberothNodeClient\node_modules\opencv4nodejs\build\Release\opencv4nodejs'
Require stack:

  • C:\Users\Tom_R\source\repos\AberothNodeClient\AberothNodeClient\node_modules\opencv4nodejs\lib\cv.js
  • C:\Users\Tom_R\source\repos\AberothNodeClient\AberothNodeClient\node_modules\opencv4nodejs\lib\opencv4nodejs.js
  • C:\Users\Tom_R\source\repos\AberothNodeClient\AberothNodeClient\server.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object. (C:\Users\Tom_R\source\repos\AberothNodeClient\AberothNodeClient\node_modules\opencv4nodejs\lib\cv.js:58:8)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [
    'C:\Users\Tom_R\source\repos\AberothNodeClient\AberothNodeClient\node_modules\opencv4nodejs\lib\cv.js',
    'C:\Users\Tom_R\source\repos\AberothNodeClient\AberothNodeClient\node_modules\opencv4nodejs\lib\opencv4nodejs.js',
    'C:\Users\Tom_R\source\repos\AberothNodeClient\AberothNodeClient\server.js'
    ]
    }
    Press any key to continue...
    `
commented

The problem that I was facing had something to do with the opencv4nodejs autobuild.

I was able to solve this by manually building opencv4nodejs.

"opencv4nodejs": { "disableAutoBuild": "1", "OPENCV_INCLUDE_DIR": "C:\\opencv\\build\\include", "OPENCV_LIB_DIR": "C:\\opencv\\build\\x64\\vc15\\lib", "OPENCV_BIN_DIR": "C:\\opencv\\build\\x64\\vc14\\bin" },

"scripts": { "install": "build-opencv --incDir C:\\opencv\\build\\include --libDir C:\\opencv\\build\\x64\\vc15\\lib --binDir C:\\opencv\\build\\x64\\vc15\\bin --nobuild rebuild" }

Replace each path in the lines above with your own respective path to opencv and add them to your package.json file,
Then run, npm run install to build opencv4nodejs. After a successful build you can then run your application.

i haven't solved it yet
package.json
{
"name": "signal",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"install": "build-opencv --incDir /usr/local/Cellar/opencv/4.5.5_2/include --libDir /usr/local/Cellar/opencv/4.5.5_2/lib --binDir /usr/local/Cellar/opencv/4.5.5_2/bin --nobuild rebuild"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"opencv4nodejs": "^5.6.0",
"ws": "^8.7.0"
},
"opencv4nodejs": {
"disableAutoBuild": 1,
"opencvIncludeDir": "/usr/local/Cellar/opencv/4.5.5_2/include",
"opencvLibDir": "/usr/local/Cellar/opencv/4.5.5_2/lib",
"opencvBinDir": "/usr/local/Cellar/opencv/4.5.5_2/bin"
}
}

image
node 16
npm 6