Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

npm install --save msnodesqlv8 fails MSBuild.exe failed with exit code: 1 #313

Closed
CarlosOnline opened this issue Dec 3, 2023 · 5 comments

Comments

@CarlosOnline
Copy link

npm install --save msnodesqlv8 fails on the MSBuild.exe command line. Had to run as administrator to get this far.

Does msnodesqlv8 require MSBuild.exe to build? Can I get a version with pre-built binaries instead?

See attached log msnodesqlv8.log

npm install --save msnodesqlv8 --verbose

...

270 error C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(254,5): error MSB8066: Custom build for '..\binding.gyp' exited with code 1. [c:\vue\sql3\node_modules\msnodesqlv8\build\sqlserverv8.vcxproj]
270 error Done Building Project "c:\vue\sql3\node_modules\msnodesqlv8\build\sqlserverv8.vcxproj" (default targets) -- FAILED.
270 error Done Building Project "c:\vue\sql3\node_modules\msnodesqlv8\build\binding.sln" (default targets) -- FAILED.

...

271 error gyp ERR! stack Error: `C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1
271 error gyp ERR! stack at ChildProcess.<anonymous> (C:\node\node-v18.17.1-win-x64\node_modules\npm\node_modules\node-gyp\lib\build.js:209:23)
271 error gyp ERR! stack at ChildProcess.emit (node:events:514:28)

@TimelordUK
Copy link
Owner

all binaries for linux windows are attached to the release and the correct one should be downloaded automatically

https://github.com/TimelordUK/node-sqlserver-v8/releases

if you are in the msnodesqlv8 folder under node_modules

in case below it has taken a cached version

❯ npm run install-verbose

> msnodesqlv8@4.1.2 install-verbose
> prebuild-install --verbose || node-gyp rebuild

prebuild-install info begin Prebuild-install version 7.1.1
prebuild-install info looking for local prebuild @ prebuilds\msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz
prebuild-install info looking for cached prebuild @ C:\Users\ms\AppData\Local\npm-cache\_prebuilds\ab7673-msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz
prebuild-install info found cached prebuild
prebuild-install info unpacking @ C:\Users\ms\AppData\Local\npm-cache\_prebuilds\ab7673-msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz
prebuild-install info unpack resolved to C:\Users\\dev\js\sql\app\msnodesqlv8_mssql_sample\node_modules\msnodesqlv8\build\Release\sqlserverv8.node
prebuild-install info unpack required C:\Users\\dev\js\sql\app\msnodesqlv8_mssql_sample\node_modules\msnodesqlv8\build\Release\sqlserverv8.node successfully
prebuild-install info install Successfully installed prebuilt binary!

msnodesqlv8_mssql_sample\node_modules\msnodesqlv8 on  master is 📦 v4.1.2 via  v21.1.0 took 3s

if i delete that cached version it tries to pull from the release page

msnodesqlv8_mssql_sample\node_modules\msnodesqlv8 on  master is 📦 v4.1.2 via  v21.1.0
❯ del C:\Users\ms\AppData\Local\npm-cache\_prebuilds\ab7673-msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz

msnodesqlv8_mssql_sample\node_modules\msnodesqlv8 on  master is 📦 v4.1.2 via  v21.1.0
❯ npm run install-verbose

> msnodesqlv8@4.1.2 install-verbose
> prebuild-install --verbose || node-gyp rebuild

prebuild-install info begin Prebuild-install version 7.1.1
prebuild-install info looking for local prebuild @ prebuilds\msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz
prebuild-install info looking for cached prebuild @ C:\Users\ms\AppData\Local\npm-cache\_prebuilds\ab7673-msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz
prebuild-install http request GET https://github.com/TimelordUK/node-sqlserver-v8/releases/download/v4.1.2/msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz
prebuild-install http 200 https://github.com/TimelordUK/node-sqlserver-v8/releases/download/v4.1.2/msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz
prebuild-install info downloading to @ C:\Users\ms\AppData\Local\npm-cache\_prebuilds\ab7673-msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz.2876-f5fbed9e86fd8.tmp
prebuild-install info renaming to @ C:\Users\ms\AppData\Local\npm-cache\_prebuilds\ab7673-msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz
prebuild-install info unpacking @ C:\Users\ms\AppData\Local\npm-cache\_prebuilds\ab7673-msnodesqlv8-v4.1.2-node-v120-win32-x64.tar.gz
prebuild-install info unpack resolved to C:\Users\ms\dev\js\sql\app\msnodesqlv8_mssql_sample\node_modules\msnodesqlv8\build\Release\sqlserverv8.node
prebuild-install info unpack required C:\Users\ms\dev\js\sql\app\msnodesqlv8_mssql_sample\node_modules\msnodesqlv8\build\Release\sqlserverv8.node successfully
prebuild-install info install Successfully installed prebuilt binary!

@TimelordUK
Copy link
Owner

are you behind a firewall is npm being blocked from reaching the release page in which case it will indeed try and build locally or if are running on architecture where no binaries exist but windows has 32 and 64 bit for pretty much all node and electron versons and the release shoulld be put under

dir .\build\Release\

if all else fails you could try and download the correct binary from the web page itself

@TimelordUK
Copy link
Owner

looking at your log is see

270 error Time Elapsed 00:00:00.51
271 error prebuild-install info begin Prebuild-install version 7.1.1
271 error prebuild-install info looking for local prebuild @ prebuilds\msnodesqlv8-v4.1.2-node-v108-win32-x64.tar.gz
271 error prebuild-install info looking for cached prebuild @ C:\Users\x-fred\AppData\Local\npm-cache_prebuilds\f132b1-msnodesqlv8-v4.1.2-node-v108-win32-x64.tar.gz
271 error prebuild-install http request GET https://github.com/TimelordUK/node-sqlserver-v8/releases/download/v4.1.2/msnodesqlv8-v4.1.2-node-v108-win32-x64.tar.gz
271 error prebuild-install warn install unable to get local issuer certificate

@TimelordUK
Copy link
Owner

it cannot fetch the binary it needs so tries to build locally

@CarlosOnline
Copy link
Author

Cool thanks. I used set NODE_TLS_REJECT_UNAUTHORIZED=0 to get it to work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants