Skip to content

build error in windows for node v22 (node v20 works) #178

Description

@sebbean

strange issue with require URL injecting a "/?/C:" in the require path

error:

getRequire file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/meta.js
file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/cvloader.js:101
                throw Error(msg);
                      ^

          Failed with: The specified module could not be found.
\\?\C:\Users\slyce\dev\opencv4nodejs\build\Release\opencv4nodejs.node, openCV module looks broken, clean 
you builds directory and rebuild everything
          rm -r <path to your build directory>
          npx build-opencv --version 4.6.0 rebuild

more context:

2025-03-02 22:12:13 Info: applyEnvsFromPackageJson disableAutoBuild: 1
2025-03-02 22:12:13 Info: require require path is C:\Users\slyce\dev\opencv4nodejs\build\Release\opencv4nodejs
getRequire file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/meta.js
2025-03-02 22:12:13 Info: require failed to require cv with exception: Error: The specified module could 
not be found.
\\?\C:\Users\slyce\dev\opencv4nodejs\build\Release\opencv4nodejs.node
2025-03-02 22:12:13 Info: require attempting to add opencv binaries to path
2025-03-02 22:12:13 Info: tryGetOpencvBinDir OPENCV_BIN_DIR environment variable is set
2025-03-02 22:12:13 Info: require adding opencv binary dir to path: C:\tools\opencv\build\x64\vc16\bin   
2025-03-02 22:12:13 Info: require process.env.path: C:\Users\slyce\AppData\Local\fnm_multishells\12300_1740982004401;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\NVIDIA Corporation\NVIDIA app\NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\Program Files\dotnet\;C:\Program Files\CMake\bin;C:\opencv\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\ProgramData\chocolatey\bin;C:\Users\slyce\AppData\Local\Programs\Python\Python312\Scripts\;C:\Users\slyce\AppData\Local\Programs\Python\Python312\;C:\Users\slyce\AppData\Local\Programs\Python\Launcher\;C:\Users\slyce\AppData\Local\Microsoft\WindowsApps;C:\Users\slyce\.dotnet\tools;C:\Users\slyce\AppData\Local\Programs\cursor\resources\app\bin;C:\Users\slyce\AppData\Local\Microsoft\WinGet\Packages\Schniz.fnm_Microsoft.Winget.Source_8wekyb3d8bbwe;;C:\tools\opencv\build\x64\vc16\bin;
2025-03-02 22:12:13 Info: require requirePath: C:\Users\slyce\dev\opencv4nodejs\build\Release\opencv4nodejs
getRequire file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/meta.js
file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/cvloader.js:101
                throw Error(msg);
                      ^

          Failed with: The specified module could not be found.
\\?\C:\Users\slyce\dev\opencv4nodejs\build\Release\opencv4nodejs.node, openCV module looks broken, clean 
you builds directory and rebuild everything
          rm -r <path to your build directory>
          npx build-opencv --version 4.6.0 rebuild

    at getOpenCV (file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/cvloader.js:101:23)
    at loadOpenCV (file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/opencv4nodejs.js:10:20)
    at file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/opencv4nodejs.js:32:19
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:578:26)

Node.js v22.14.0

same codepath with node v20

025-03-02 22:15:51 Info: config found opencv4nodejs section in %s C:\Users\slyce\dev\opencv4nodejs\package.json
2025-03-02 22:15:51 Info: init no_autobuild is set.
2025-03-02 22:15:51 Info: init
2025-03-02 22:15:51 Info: applyEnvsFromPackageJson the following opencv4nodejs environment variables are 
set in the package.json:
2025-03-02 22:15:51 Info: applyEnvsFromPackageJson disableAutoBuild: 1
2025-03-02 22:15:51 Info: require require path is C:\Users\slyce\dev\opencv4nodejs\build\Release\opencv4nodejs
getRequire file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/meta.js
2025-03-02 22:15:51 Info: require failed to require cv with exception: Error: The specified module could 
not be found.
\\?\C:\Users\slyce\dev\opencv4nodejs\build\Release\opencv4nodejs.node
2025-03-02 22:15:51 Info: require attempting to add opencv binaries to path
2025-03-02 22:15:51 Info: tryGetOpencvBinDir OPENCV_BIN_DIR environment variable is set
2025-03-02 22:15:51 Info: require adding opencv binary dir to path: C:\tools\opencv\build\x64\vc16\bin   
2025-03-02 22:15:51 Info: require process.env.path: C:\Users\slyce\AppData\Local\fnm_multishells\12300_1740982004401;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\NVIDIA Corporation\NVIDIA app\NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\Program Files\dotnet\;C:\Program Files\CMake\bin;C:\opencv\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\ProgramData\chocolatey\bin;C:\Users\slyce\AppData\Local\Programs\Python\Python312\Scripts\;C:\Users\slyce\AppData\Local\Programs\Python\Python312\;C:\Users\slyce\AppData\Local\Programs\Python\Launcher\;C:\Users\slyce\AppData\Local\Microsoft\WindowsApps;C:\Users\slyce\.dotnet\tools;C:\Users\slyce\AppData\Local\Programs\cursor\resources\app\bin;C:\Users\slyce\AppData\Local\Microsoft\WinGet\Packages\Schniz.fnm_Microsoft.Winget.Source_8wekyb3d8bbwe;;C:\tools\opencv\build\x64\vc16\bin;
2025-03-02 22:15:51 Info: require requirePath: C:\Users\slyce\dev\opencv4nodejs\build\Release\opencv4nodejs
getRequire file:///C:/Users/slyce/dev/opencv4nodejs/esm/lib/meta.js

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions