官网教程: https://www.npmjs.com/package…
!!!以下操作均在powershell(管理员模式)中实现!!!
1. 装置cmake(请自行装置并且实现环境配置)
powerhsell下输出:
cmake --version
呈现如下提醒则装置胜利
cmake version 3.21.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
2. 装置git(请自行装置并实现环境配置)
powerhsell下输出:
git --version
呈现如下提醒则装置胜利
git version 2.31.1.windows.1
3. windows build tools
npm install --global --production windows-build-tools
不论你有没有visual studio 2017/2019(不是带CODE的那个), 都能够装置这个build tools
这个也有相干的坑, 请查看
https://blog.csdn.net/weixin_…
4. 装置opencv4nodejs(巨坑)
千万不要应用主动装置脚本, 肯定要手动装置
3.1 设置手动装置
# on windows:
set OPENCV4NODEJS_DISABLE_AUTOBUILD=1
3.2 查看chocolatey版本, 如果没有装置则自行装置
choco --version
呈现这行绿字就是胜利了
Chocolatey v0.10.15
3.3 装置opencv
# to install OpenCV 4.1.0
choco install OpenCV -y -version 4.1.0
这个opencv不是opencv4nodejs, 然而前面有大用
记住它的装置门路, 我的是在’C:\tools\opencv’
3.4 为opencv增加环境变量
在刚刚装置的opencv门路下, 有一个build文件夹, 外面蕴含着咱们须要的所有货色
OPENCV_DIR
C:\tools\opencv\build
OPENCV_INCLUDE_DIR
C:\tools\opencv\build\include
OPENCV_BIN_DIR
C:\tools\opencv\build\x64\vc15\bin
OPENCV_LIB_DIR
C:\tools\opencv\build\x64\vc15\lib
x64是64位
vc15是visual studio 2017, 代表我应用的是2017版本的visual studio.
请确保这四个环境变量没有谬误, 这很重要
3.5 npm init
npm init
这将会在当前目录下创立一个package.json文件, 倡议切换到本人喜爱的目录, 不要在C:\Windows\system32目录下进行(这是powerhsell默认的目录)
3.6 关上刚刚创立好的package.json文件
一开始它长这个样子:
然而咱们要批改它, 全副删除, 而后替换成opencv官网要求的样子:
{
"name": "my-project",
"version": "0.0.0",
"dependencies": {
"opencv4nodejs": "^X.X.X"
},
"opencv4nodejs": {
"disableAutoBuild": 1,
"opencvIncludeDir": "C:\\tools\\opencv\\build\\include",
"opencvLibDir": "C:\\tools\\opencv\\build\\x64\\vc14\\lib",
"opencvBinDir": "C:\\tools\\opencv\\build\\x64\\vc14\\bin"
}
}
留神:此处json文件用的是vc14的visual studio 2015, 如果你用的vc15,也就是visual studio 2017, 请自行更改!!!
3.7 最初的装置!
npm install -g opencv4nodejs
此处’-g’代表global, 意为:windows零碎下任何用户均可应用此软件, 即opencv4nodejs
同时, 环境变量中的零碎变量将会被利用。
OVER
报错一览:
1. 没有实现初始化
ENOENT: no such file or directory, open 'C:\Windows\system32\package.json'
解决方案:
请查看步骤3.5, 3.6, 实现npm的初始化, 以及批改package.json文件
2. visual studio 相干问题
opencv有且仅有应用visual studio 2015, 2017进行build的版本, 即上文中提到的vc14, vc15。
!!!没有visual studio 2019!!!
解决方案: 请自行设置 msvs_version
npm config set msvs_version 2017
3. 文件缺失
网上有很多相干的问题, 但我没有遇到, 所以无奈提供解决方案
4. windows-build-tools装置卡住了!
Successfully installed Python 2.7
请返回这个链接, 感激这位大佬的解决方案:
https://blog.csdn.net/weixin_…
大略就是:
1.把windows-build-tools主动下载的C:\user\{用户名}\.windows-build-tools\python2.7
退出环境变量
2.下载.net framework的最新版本(我用的4.7.2)
3.批改C:\user\{用户名}\.windows-build-tools\build-tools-log.txt
文件, 最初一行增加Variable: IsInstalled = 1
, 骗这个程序说曾经装置完了, 而后程序就会认为装置完了, 就不会报错了.
5. package.json没有配置
Error: spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\15.0\Bin\MSBuild.exe ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:81:21)
Emitted 'error' event on ChildProcess instance at:
at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:81:21) {
errno: 'ENOENT',
code: 'ENOENT',
syscall: 'spawn C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\MSBuild\\15.0\\Bin\\MSBuild.exe',
path: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\MSBuild\\15.0\\Bin\\MSBuild.exe',
spawnargs: [ './OpenCV.sln', '/p:Configuration=Release', '/p:Platform=x64' ]
Github Issue:https://github.com/justadudew…
解决方案:
因为没有正确配置package.json, 所以不能进行MSBuild.exe
正如我说过的, opencv4nodejs 不反对 visual studio 2019, 所以请进行上文中3.6的操作, 手动配置package.json 并且保障visual studio版本在2015或者2017.
发表回复