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

Could not find any Visual Studio installation to use after trying all the tips I could find online #2203

Closed
kakyoism opened this issue Aug 28, 2020 · 21 comments
Labels

Comments

@kakyoism
Copy link

  • Node Version: node -v=v12.18.3 and npm -v=6.14.8
  • Platform: systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type" (Windows)
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.18362 N/A Build 18362
System Type:               x64-based PC
  • Compiler: msbuild /version & cl (Windows)
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

15.9.21.664Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27043 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]
  • Module: zeromq
Verbose output (from npm or node-gyp):
me@me-PC0 D:\Desktop\myapp
# node-gyp configure --msvs_version=2017
gyp info it worked if it ends with ok
gyp info using node-gyp@7.1.0
gyp info using node@12.18.3 | win32 | x64
gyp info find Python using Python version 3.8.5 found at "C:\Python\Python38\python.exe"
gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS running in VS Command Prompt, installation path is:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017"
gyp ERR! find VS - will only use this version
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - found in "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
gyp ERR! find VS - could not find MSBuild in registry for this version
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS msvs_version does not match this VS Command Prompt or the
gyp ERR! find VS installation cannot be used.
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (C:\Users\me\AppData\Roaming\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at C:\Users\me\AppData\Roaming\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (C:\Users\me\AppData\Roaming\npm\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at C:\Users\me\AppData\Roaming\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at C:\Users\me\AppData\Roaming\npm\node_modules\node-gyp\lib\find-visualstudio.js:384:20
gyp ERR! stack     at C:\Users\me\AppData\Roaming\npm\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at C:\Users\me\AppData\Roaming\npm\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:310:5)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Apps\\nodejs\\node.exe" "C:\\Users\\me\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--msvs_version=2017"
gyp ERR! cwd D:\Desktop\myapp
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok

Things I've tried to no avail

  • Reinstall VS 2017 with Desktop Development Kit for C++
  • Reinstall node and npm
  • Run the same command in Admin CMD, Admin PowerShell, Admin VC2017 Dev Command Prompt
  • Manually set VCINSTALLDIR environment variable to: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\
  • Run npm config set msvs_version 2017 --global, then npm config get msvs_version gives me 2017
  • Restart PC every step of the way

I got the same errors as above every step of the way.

Please help!

@kakyoism kakyoism changed the title Could not find any Visual Studio installation to use Could not find any Visual Studio installation to use after trying all the tips I could find online Aug 28, 2020
@kakyoism
Copy link
Author

kakyoism commented Aug 28, 2020

I've nuked my entire nodejs installation and started over, but the problem persists.

Repro

I've nuked my entire nodejs installation and started over. What I've done

  • Removed nodejs based on this StackOverflow answer.
  • Reinstalled nodejs x64 for Windows v12.18.3 using the .msi installer from official nodejs site, allowing the installer to install extra dependencies such as chocolatey
  • Created a blank electron app using electron-forge: like this
me@me-PC0 D:\Desktop
$ npx create-electron-app myapp
√ Initializing Project Directory
√ Initializing Git Repository
√ Locating custom template: "base"
√ Copying Starter Files
√ Initializing NPM Module
√ Installing Template Dependencies
√ Installing NPM Dependencies

me@me-PC0 D:\Desktop
$ cd myapp

me@me-PC0 D:\Desktop\myapp
$ npm start

> myapp@1.0.0 start D:\Desktop\myapp
> electron-forge start

√ Checking your system
√ Locating Application
√ Preparing native dependencies
√ Launching Application
  • Configured VS version that npm uses: npm config set msvs_version 2017 and npm config set msvs_version 2017 --global

The app runs up until this point. Then ...

  • Installed dependency zeromq
$ npm install zeromq --save-prod
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\extract-zip.cmd as it wasn't installed by D:\Desktop\myapp\node_modules\extract-zip
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\extract-zip as it wasn't installed by D:\Desktop\myapp\node_modules\extract-zip
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\rimraf.cmd as it wasn't installed by D:\Desktop\myapp\node_modules\rimraf
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\rimraf as it wasn't installed by D:\Desktop\myapp\node_modules\rimraf
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\semver.cmd as it wasn't installed by D:\Desktop\myapp\node_modules\semver
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\semver as it wasn't installed by D:\Desktop\myapp\node_modules\semver

> zeromq@6.0.0-beta.6 install D:\Desktop\myapp\node_modules\zeromq
> node-gyp-build


> core-js@3.6.5 postinstall D:\Desktop\myapp\node_modules\core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: electron-installer-debian@^3.0.0 (node_modules\@electron-forge\maker-deb\node_modules\electron-installer-debian):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for electron-installer-debian@3.1.0: wanted {"os":"darwin,linux","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: electron-installer-redhat@^3.2.0 (node_modules\@electron-forge\maker-rpm\node_modules\electron-installer-redhat):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for electron-installer-redhat@3.2.0: wanted {"os":"darwin,linux","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN myapp@1.0.0 No repository field.

+ zeromq@6.0.0-beta.6
added 50 packages from 7 contributors, removed 32 packages, updated 401 packages and audited 460 packages in 61.306s

32 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
  • Run electron-forge to build the Windows distribution.
$ npm run make

> myapp@1.0.0 make D:\Desktop\myapp
> electron-forge make

√ Checking your system
√ Resolving Forge Config
We need to package your application before we can make it
√ Preparing to Package Application for arch: x64
× Preparing native dependencies: 0 / 1

An unhandled error has occurred inside Forge:
Command failed with a non-zero return code (1):
D:\Desktop\myapp\node_modules\electron-rebuild\node_modules\.bin\node-gyp.cmd rebuild --target=10.1.0 --arch=x64 --dist-url=https://www.electronjs.org/headers --build-from-source

gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - found in "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
gyp ERR! find VS - could not find MSBuild in registry for this version
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS valid versions for msvs_version:
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:384:20
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:310:5)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Desktop\\myapp\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=10.1.0" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd C:\Users\me\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\node_modules\zeromq
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok
Error: Command failed with a non-zero return code (1):
D:\Desktop\myapp\node_modules\electron-rebuild\node_modules\.bin\node-gyp.cmd rebuild --target=10.1.0 --arch=x64 --dist-url=https://www.electronjs.org/headers --build-from-source

gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - found in "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
gyp ERR! find VS - could not find MSBuild in registry for this version
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS valid versions for msvs_version:
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:384:20
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:310:5)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Desktop\\myapp\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=10.1.0" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd C:\Users\me\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\node_modules\zeromq
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok
    at ChildProcess.<anonymous> (D:\Desktop\myapp\node_modules\@malept\cross-spawn-promise\src\index.ts:155:16)
    at ChildProcess.emit (events.js:315:20)
    at ChildProcess.EventEmitter.emit (domain.js:483:12)
    at ChildProcess.cp.emit (D:\Desktop\myapp\node_modules\cross-spawn\lib\enoent.js:34:29)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! myapp@1.0.0 make: `electron-forge make`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the myapp@1.0.0 make script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\me\AppData\Roaming\npm-cache\_logs\2020-08-28T04_35_43_345Z-debug.log
  • Attempted to fix this by setting VCINSTALLDIR environment variable manually
set VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\
  • Then run electron-forge again
D:\Desktop\myapp>npm run make

> myapp@1.0.0 make D:\Desktop\myapp
> electron-forge make

√ Checking your system
√ Resolving Forge Config
We need to package your application before we can make it
√ Preparing to Package Application for arch: x64
× Preparing native dependencies: 0 / 1

An unhandled error has occurred inside Forge:
Command failed with a non-zero return code (1):
D:\Desktop\myapp\node_modules\electron-rebuild\node_modules\.bin\node-gyp.cmd rebuild --target=10.1.0 --arch=x64 --dist-url=https://www.electronjs.org/headers --build-from-source

gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS running in VS Command Prompt, installation path is:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017"
gyp ERR! find VS - will only use this version
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - found in "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
gyp ERR! find VS - could not find MSBuild in registry for this version
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS msvs_version does not match this VS Command Prompt or the
gyp ERR! find VS installation cannot be used.
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:384:20
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:310:5)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Desktop\\myapp\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=10.1.0" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd C:\Users\me\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\node_modules\zeromq
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok
Error: Command failed with a non-zero return code (1):
D:\Desktop\myapp\node_modules\electron-rebuild\node_modules\.bin\node-gyp.cmd rebuild --target=10.1.0 --arch=x64 --dist-url=https://www.electronjs.org/headers --build-from-source

gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS running in VS Command Prompt, installation path is:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017"
gyp ERR! find VS - will only use this version
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - found in "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
gyp ERR! find VS - could not find MSBuild in registry for this version
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS msvs_version does not match this VS Command Prompt or the
gyp ERR! find VS installation cannot be used.
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:384:20
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:310:5)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Desktop\\myapp\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=10.1.0" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd C:\Users\me\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\node_modules\zeromq
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok
    at ChildProcess.<anonymous> (D:\Desktop\myapp\node_modules\@malept\cross-spawn-promise\src\index.ts:155:16)
    at ChildProcess.emit (events.js:315:20)
    at ChildProcess.EventEmitter.emit (domain.js:483:12)
    at ChildProcess.cp.emit (D:\Desktop\myapp\node_modules\cross-spawn\lib\enoent.js:34:29)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! myapp@1.0.0 make: `electron-forge make`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the myapp@1.0.0 make script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\me\AppData\Roaming\npm-cache\_logs\2020-08-28T04_40_16_364Z-debug.log
  • Also tried to hack the visual studio locator code of node-gyp at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js

    • to insert amd64 to the lines
if (versionYear === 2017) {
        return path.join(info.path, 'MSBuild', '15.0', 'Bin', 'MSBuild.exe')
      }
      if (versionYear === 2019) {
        return path.join(info.path, 'MSBuild', 'Current', 'Bin', 'MSBuild.exe')
      }
- so that they become
if (versionYear === 2017) {
        return path.join(info.path, 'MSBuild', '15.0', 'Bin', 'amd64', 'MSBuild.exe')
      }
      if (versionYear === 2019) {
        return path.join(info.path, 'MSBuild', 'Current', 'Bin', 'amd64', 'MSBuild.exe')
      }
- Then run `npm run make` again. Same errors as previous step.

Here is my build environment

D:\Desktop\myapp>npm config get msvs_version
2017

D:\Desktop\myapp>npm config get python
C:\Python\Python38\pythonw.exe

Python 3.8 is the 64bit version from python.org.

Question

What am I missing? Should I forget about VS2017? My project uses VS2017 for the C++ development so I'm afraid I can't change that. But should I install VS2015?

It's confusing that on node-gyp README.md, it first says

Launch cmd, npm config set msvs_version 2017

Then later in How to Use, it then says:

Auto-detection fails for Visual C++ Build Tools 2015, so --msvs_version=2015 needs to be added (not needed when run by npm as configured above):

$ node-gyp configure --msvs_version=2015

What's with this version discrepancy?

@initram
Copy link
Contributor

initram commented Sep 29, 2020

I also had similar issues recently and what helped me to locate the issue was running the npm command with --loglevel silly added, this gives you a whole lot more info printed out.

My issue was that there were some outdated (non-existing) paths in my LIB environment variable and that made node-gyp fail.

@kakyoism
Copy link
Author

I also had similar issues recently and what helped me to locate the issue was running the npm command with --loglevel silly added, this gives you a whole lot more info printed out.

My issue was that there were some outdated (non-existing) paths in my LIB environment variable and that made node-gyp fail.

Thanks for the tip. Indeed, I shared the exact problem with you. I found out about it myself weeks ago the hard way and I really should've used --loglevel as you suggested.

@anujxx
Copy link

anujxx commented Dec 7, 2020

I've nuked my entire nodejs installation and started over, but the problem persists.

Repro

I've nuked my entire nodejs installation and started over. What I've done

  • Removed nodejs based on this StackOverflow answer.
  • Reinstalled nodejs x64 for Windows v12.18.3 using the .msi installer from official nodejs site, allowing the installer to install extra dependencies such as chocolatey
  • Created a blank electron app using electron-forge: like this
me@me-PC0 D:\Desktop
$ npx create-electron-app myapp
√ Initializing Project Directory
√ Initializing Git Repository
√ Locating custom template: "base"
√ Copying Starter Files
√ Initializing NPM Module
√ Installing Template Dependencies
√ Installing NPM Dependencies

me@me-PC0 D:\Desktop
$ cd myapp

me@me-PC0 D:\Desktop\myapp
$ npm start

> myapp@1.0.0 start D:\Desktop\myapp
> electron-forge start

√ Checking your system
√ Locating Application
√ Preparing native dependencies
√ Launching Application
  • Configured VS version that npm uses: npm config set msvs_version 2017 and npm config set msvs_version 2017 --global

The app runs up until this point. Then ...

  • Installed dependency zeromq
$ npm install zeromq --save-prod
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\extract-zip.cmd as it wasn't installed by D:\Desktop\myapp\node_modules\extract-zip
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\extract-zip as it wasn't installed by D:\Desktop\myapp\node_modules\extract-zip
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\rimraf.cmd as it wasn't installed by D:\Desktop\myapp\node_modules\rimraf
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\rimraf as it wasn't installed by D:\Desktop\myapp\node_modules\rimraf
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\semver.cmd as it wasn't installed by D:\Desktop\myapp\node_modules\semver
npm WARN rm not removing D:\Desktop\myapp\node_modules\.bin\semver as it wasn't installed by D:\Desktop\myapp\node_modules\semver

> zeromq@6.0.0-beta.6 install D:\Desktop\myapp\node_modules\zeromq
> node-gyp-build


> core-js@3.6.5 postinstall D:\Desktop\myapp\node_modules\core-js
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: electron-installer-debian@^3.0.0 (node_modules\@electron-forge\maker-deb\node_modules\electron-installer-debian):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for electron-installer-debian@3.1.0: wanted {"os":"darwin,linux","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: electron-installer-redhat@^3.2.0 (node_modules\@electron-forge\maker-rpm\node_modules\electron-installer-redhat):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for electron-installer-redhat@3.2.0: wanted {"os":"darwin,linux","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN myapp@1.0.0 No repository field.

+ zeromq@6.0.0-beta.6
added 50 packages from 7 contributors, removed 32 packages, updated 401 packages and audited 460 packages in 61.306s

32 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
  • Run electron-forge to build the Windows distribution.
$ npm run make

> myapp@1.0.0 make D:\Desktop\myapp
> electron-forge make

√ Checking your system
√ Resolving Forge Config
We need to package your application before we can make it
√ Preparing to Package Application for arch: x64
× Preparing native dependencies: 0 / 1

An unhandled error has occurred inside Forge:
Command failed with a non-zero return code (1):
D:\Desktop\myapp\node_modules\electron-rebuild\node_modules\.bin\node-gyp.cmd rebuild --target=10.1.0 --arch=x64 --dist-url=https://www.electronjs.org/headers --build-from-source

gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - found in "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
gyp ERR! find VS - could not find MSBuild in registry for this version
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS valid versions for msvs_version:
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:384:20
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:310:5)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Desktop\\myapp\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=10.1.0" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd C:\Users\me\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\node_modules\zeromq
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok
Error: Command failed with a non-zero return code (1):
D:\Desktop\myapp\node_modules\electron-rebuild\node_modules\.bin\node-gyp.cmd rebuild --target=10.1.0 --arch=x64 --dist-url=https://www.electronjs.org/headers --build-from-source

gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - found in "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
gyp ERR! find VS - could not find MSBuild in registry for this version
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS valid versions for msvs_version:
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:384:20
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:310:5)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Desktop\\myapp\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=10.1.0" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd C:\Users\me\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\node_modules\zeromq
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok
    at ChildProcess.<anonymous> (D:\Desktop\myapp\node_modules\@malept\cross-spawn-promise\src\index.ts:155:16)
    at ChildProcess.emit (events.js:315:20)
    at ChildProcess.EventEmitter.emit (domain.js:483:12)
    at ChildProcess.cp.emit (D:\Desktop\myapp\node_modules\cross-spawn\lib\enoent.js:34:29)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! myapp@1.0.0 make: `electron-forge make`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the myapp@1.0.0 make script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\me\AppData\Roaming\npm-cache\_logs\2020-08-28T04_35_43_345Z-debug.log
  • Attempted to fix this by setting VCINSTALLDIR environment variable manually
set VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\
  • Then run electron-forge again
D:\Desktop\myapp>npm run make

> myapp@1.0.0 make D:\Desktop\myapp
> electron-forge make

√ Checking your system
√ Resolving Forge Config
We need to package your application before we can make it
√ Preparing to Package Application for arch: x64
× Preparing native dependencies: 0 / 1

An unhandled error has occurred inside Forge:
Command failed with a non-zero return code (1):
D:\Desktop\myapp\node_modules\electron-rebuild\node_modules\.bin\node-gyp.cmd rebuild --target=10.1.0 --arch=x64 --dist-url=https://www.electronjs.org/headers --build-from-source

gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS running in VS Command Prompt, installation path is:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017"
gyp ERR! find VS - will only use this version
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - found in "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
gyp ERR! find VS - could not find MSBuild in registry for this version
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS msvs_version does not match this VS Command Prompt or the
gyp ERR! find VS installation cannot be used.
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:384:20
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:310:5)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Desktop\\myapp\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=10.1.0" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd C:\Users\me\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\node_modules\zeromq
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok
Error: Command failed with a non-zero return code (1):
D:\Desktop\myapp\node_modules\electron-rebuild\node_modules\.bin\node-gyp.cmd rebuild --target=10.1.0 --arch=x64 --dist-url=https://www.electronjs.org/headers --build-from-source

gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS running in VS Command Prompt, installation path is:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017"
gyp ERR! find VS - will only use this version
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - found in "C:\Program Files (x86)\Microsoft Visual Studio 14.0"
gyp ERR! find VS - could not find MSBuild in registry for this version
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS msvs_version does not match this VS Command Prompt or the
gyp ERR! find VS installation cannot be used.
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js:384:20
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at D:\Desktop\myapp\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:310:5)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Desktop\\myapp\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=10.1.0" "--arch=x64" "--dist-url=https://www.electronjs.org/headers" "--build-from-source"
gyp ERR! cwd C:\Users\me\AppData\Local\Temp\electron-packager\win32-x64\myapp-win32-x64\resources\app\node_modules\zeromq
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok
    at ChildProcess.<anonymous> (D:\Desktop\myapp\node_modules\@malept\cross-spawn-promise\src\index.ts:155:16)
    at ChildProcess.emit (events.js:315:20)
    at ChildProcess.EventEmitter.emit (domain.js:483:12)
    at ChildProcess.cp.emit (D:\Desktop\myapp\node_modules\cross-spawn\lib\enoent.js:34:29)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! myapp@1.0.0 make: `electron-forge make`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the myapp@1.0.0 make script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\me\AppData\Roaming\npm-cache\_logs\2020-08-28T04_40_16_364Z-debug.log
  • Also tried to hack the visual studio locator code of node-gyp at D:\Desktop\myapp\node_modules\node-gyp\lib\find-visualstudio.js

    • to insert amd64 to the lines
if (versionYear === 2017) {
        return path.join(info.path, 'MSBuild', '15.0', 'Bin', 'MSBuild.exe')
      }
      if (versionYear === 2019) {
        return path.join(info.path, 'MSBuild', 'Current', 'Bin', 'MSBuild.exe')
      }
- so that they become
if (versionYear === 2017) {
        return path.join(info.path, 'MSBuild', '15.0', 'Bin', 'amd64', 'MSBuild.exe')
      }
      if (versionYear === 2019) {
        return path.join(info.path, 'MSBuild', 'Current', 'Bin', 'amd64', 'MSBuild.exe')
      }
- Then run `npm run make` again. Same errors as previous step.

Here is my build environment

D:\Desktop\myapp>npm config get msvs_version
2017

D:\Desktop\myapp>npm config get python
C:\Python\Python38\pythonw.exe

Python 3.8 is the 64bit version from python.org.

Question

What am I missing? Should I forget about VS2017? My project uses VS2017 for the C++ development so I'm afraid I can't change that. But should I install VS2015?

It's confusing that on node-gyp README.md, it first says

Launch cmd, npm config set msvs_version 2017

Then later in How to Use, it then says:

Auto-detection fails for Visual C++ Build Tools 2015, so --msvs_version=2015 needs to be added (not needed when run by npm as configured above):

$ node-gyp configure --msvs_version=2015

What's with this version discrepancy?

did you find solution please help. getting same problem
Screenshot_173

@kakyoism
Copy link
Author

kakyoism commented Dec 7, 2020

@anujxx Check out initram's answer above.

@hamza-iqbal-hi
Copy link

A little late, but if it helps anyone:
https://stackoverflow.com/a/63311413

@DeuxAlpha
Copy link

Deleting the package-lock.json file resolved the problem for me.

As far as I can tell, no node_modules/_package_/bin/* files were being downloaded. I'm not sure why this solved it for me, but there you go.

@XDavidT
Copy link

XDavidT commented May 3, 2021

Deleting the package-lock.json file resolved the problem for me.

As far as I can tell, no node_modules/_package_/bin/* files were being downloaded. I'm not sure why this solved it for me, but there you go.

Did the work thanks!

@danishiftikhar3
Copy link

danishiftikhar3 commented May 26, 2021

Deleting the package-lock.json file resolved the problem for me.

As far as I can tell, no node_modules/_package_/bin/* files were being downloaded. I'm not sure why this solved it for me, but there you go.

WORKED FOR ME AFTER TRYING EVERYTHING! Just had to delete the package-lock.json file

@Twenty2kay
Copy link

Deleting the package-lock.json file resolved the problem for me.
As far as I can tell, no node_modules/_package_/bin/* files were being downloaded. I'm not sure why this solved it for me, but there you go.

WORKED FOR ME AFTER TRYING EVERYTHING! Just had to delete the package-lock.json file

did anything happen after deleting that file?

@holtalanm
Copy link

Ran into this pretty recently. Completely reinstalling Visual Studio cleared it up.

@ZaidKhan144
Copy link

Deleting the package-lock.json file resolved the problem for me.

As far as I can tell, no node_modules/_package_/bin/* files were being downloaded. I'm not sure why this solved it for me, but there you go.

@DeuxAlpha Appreciate it, Man!

@lsharir
Copy link

lsharir commented Jul 27, 2021

Just follow the instructions at https://github.com/nodejs/node-gyp#on-windows like the error output suggests
For me, setting npm config set msvs_version 2017 was the missing piece

@sasos90
Copy link

sasos90 commented Jul 30, 2021

@lsharir thank you, this was my problem too.
Btw I also installed windows-build-tools@4.0.0 dependency, plus perhaps some VS C++ tooling, and then I needed to set the line that @lsharir provided, except my version was 2019. The error I was getting looked kind of like this:

gyp ERR! find VS
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS checking VS2019 (16.10.31424.327) found at:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"
gyp ERR! find VS - found "Visual Studio C++ core features"
gyp ERR! find VS - found VC++ toolset: v142
gyp ERR! find VS - found Windows SDK: 10.0.19041.0
gyp ERR! find VS - msvs_version does not match this version
gyp ERR! find VS checking VS2019 (16.10.31424.327) found at:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"
gyp ERR! find VS - found "Visual Studio C++ core features"
gyp ERR! find VS - found VC++ toolset: v142
gyp ERR! find VS - found Windows SDK: 10.0.19041.0
gyp ERR! find VS - msvs_version does not match this version
gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - not found
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS valid versions for msvs_version:
gyp ERR! find VS - "2019"
gyp ERR! find VS - "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"
gyp ERR! find VS - "2019"
gyp ERR! find VS - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"
gyp ERR! find VS
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (C:\Users\...\AppData\Roaming\nvm\v12.22.1\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at C:\Users\...\AppData\Roaming\nvm\v12.22.1\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (C:\Users\...\AppData\Roaming\nvm\v12.22.1\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at C:\Users\...\AppData\Roaming\nvm\v12.22.1\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at C:\Users\...\AppData\Roaming\nvm\v12.22.1\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:372:16
gyp ERR! stack     at C:\Users\...\AppData\Roaming\nvm\v12.22.1\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at C:\Users\...\AppData\Roaming\nvm\v12.22.1\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:315:5)
gyp ERR! stack     at ChildProcess.emit (events.js:314:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1022:16)
gyp ERR! System Windows_NT 10.0.19043
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\...\\AppData\\Roaming\\nvm\\v12.22.1\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"

@axeltvz
Copy link

axeltvz commented Nov 5, 2021

on my computer works with the next commands
npm install --g --production windows-build-tools
npm install node-gyp
npm audit fix
npm install node-phpass

@FlorianCassayre
Copy link

Indeed, this appears to be a cross-platform issue and regenerating package-lock.json did the trick.

I have two machines, one running Ubuntu the other Windows. The former generated that file and I didn't encounter any issue. However when I tried installing the modules on the latter, that's when the issue occurred.
Do not install windows-build-tools as it is not only heavy but deprecated (and not needed).

@humanfriend22
Copy link

I have tried every solution on this issue, but I am getting the same error. Can someone help me?

@cclauss
Copy link
Contributor

cclauss commented Nov 17, 2021

In your error log, what is the version on the line that starts with gyp ERR! node-gyp -v ?

Is it the same version as https://github.com/nodejs/node-gyp/releases ?

@feryardiant
Copy link

Came across exact same issue when trying to install fibers package globally.

npm -g install fibers
0 verbose cli [
0 verbose cli   'C:\\ProgramData\\scoop\\apps\\nodejs-lts\\current\\node.exe',
0 verbose cli   'C:\\ProgramData\\scoop\\persist\\nodejs-lts\\bin\\node_modules\\npm\\bin\\npm-cli.js',
0 verbose cli   '-g',
0 verbose cli   'i',
0 verbose cli   'fibers'
0 verbose cli ]
1 info using npm@8.1.4
2 info using node@v16.13.0
3 timing npm:load:whichnode Completed in 1ms
4 timing config:load:defaults Completed in 2ms
5 timing config:load:file:C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\npm\npmrc Completed in 4ms
6 timing config:load:builtin Completed in 4ms
7 timing config:load:cli Completed in 2ms
8 timing config:load:env Completed in 1ms
9 timing config:load:project Completed in 0ms
10 timing config:load:file:C:\Users\fery\.npmrc Completed in 1ms
11 timing config:load:user Completed in 1ms
12 timing config:load:file:C:\ProgramData\scoop\persist\nodejs-lts\bin\etc\npmrc Completed in 1ms
13 timing config:load:global Completed in 1ms
14 timing config:load:validate Completed in 0ms
15 timing config:load:credentials Completed in 1ms
16 timing config:load:setEnvs Completed in 1ms
17 timing config:load Completed in 13ms
18 timing npm:load:configload Completed in 13ms
19 timing npm:load:setTitle Completed in 1ms
20 timing npm:load:setupLog Completed in 1ms
21 timing config:load:flatten Completed in 4ms
22 timing npm:load:cleanupLog Completed in 3ms
23 timing npm:load:configScope Completed in 0ms
24 timing npm:load:projectScope Completed in 0ms
25 timing npm:load Completed in 24ms
26 timing arborist:ctor Completed in 1ms
27 timing idealTree:init Completed in 7ms
28 timing idealTree:userRequests Completed in 3ms
29 silly idealTree buildDeps
30 silly fetch manifest fibers@*
31 http fetch GET 200 https://registry.npmjs.org/fibers 255ms (cache revalidated)
32 silly placeDep ROOT fibers@5.0.0 OK for:  want: *
33 silly fetch manifest detect-libc@^1.0.3
34 http fetch GET 200 https://registry.npmjs.org/detect-libc 59ms (cache revalidated)
35 timing idealTree:#root Completed in 333ms
36 silly placeDep node_modules/fibers detect-libc@1.0.3 OK for: fibers@5.0.0 want: ^1.0.3
37 timing idealTree:node_modules/fibers Completed in 4ms
38 timing idealTree:node_modules/fibers/node_modules/detect-libc Completed in 0ms
39 timing idealTree:buildDeps Completed in 340ms
40 timing idealTree:fixDepFlags Completed in 1ms
41 timing idealTree Completed in 352ms
42 timing reify:loadTrees Completed in 356ms
43 timing reify:diffTrees Completed in 1ms
44 silly reify moves {}
45 timing reify:retireShallow Completed in 0ms
46 timing reify:createSparse Completed in 3ms
47 timing reify:loadBundles Completed in 0ms
48 silly audit bulk request { fibers: [ '5.0.0' ], 'detect-libc': [ '1.0.3' ] }
49 timing reifyNode:node_modules/fibers/node_modules/detect-libc Completed in 61ms
50 timing reifyNode:node_modules/fibers Completed in 140ms
51 timing reify:unpack Completed in 140ms
52 timing reify:unretire Completed in 0ms
53 timing build:queue Completed in 1ms
54 timing build:link:node_modules/fibers/node_modules/detect-libc Completed in 6ms
55 timing build:link Completed in 7ms
56 info run fibers@5.0.0 install node_modules/fibers node build.js || nodejs build.js
57 http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/advisories/bulk 964ms
58 timing auditReport:getReport Completed in 965ms
59 silly audit report {}
60 timing auditReport:init Completed in 0ms
61 timing reify:audit Completed in 966ms
62 info run fibers@5.0.0 install { code: 1, signal: null }
63 timing reify:rollback:createSparse Completed in 20ms
64 timing reify:rollback:retireShallow Completed in 0ms
65 timing command:i Completed in 2048ms
66 verbose stack Error: command failed
66 verbose stack     at ChildProcess. (C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\npm\node_modules\@npmcli\promise-spawn\index.js:64:27)
66 verbose stack     at ChildProcess.emit (node:events:390:28)
66 verbose stack     at maybeClose (node:internal/child_process:1064:16)
66 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
67 verbose pkgid fibers@5.0.0
68 verbose cwd D:\Workspace
69 verbose Windows_NT 10.0.19043
70 verbose argv "C:\\ProgramData\\scoop\\apps\\nodejs-lts\\current\\node.exe" "C:\\ProgramData\\scoop\\persist\\nodejs-lts\\bin\\node_modules\\npm\\bin\\npm-cli.js" "-g" "i" "fibers"
71 verbose node v16.13.0
72 verbose npm  v8.1.4
73 error code 1
74 error path C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\fibers
75 error command failed
76 error command C:\WINDOWS\system32\cmd.exe /d /s /c node build.js || nodejs build.js
77 error gyp info it worked if it ends with ok
77 error gyp info using node-gyp@8.4.0
77 error gyp info using node@16.13.0 | win32 | x64
77 error gyp info find Python using Python version 3.10.0 found at "C:\ProgramData\scoop\apps\python\current\python.exe"
77 error gyp ERR! find VS
77 error gyp ERR! find VS msvs_version was set from command line or npm config
77 error gyp ERR! find VS - looking for Visual Studio version 2019
77 error gyp ERR! find VS running in VS Command Prompt, installation path is:
77 error gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio"
77 error gyp ERR! find VS - will only use this version
77 error gyp ERR! find VS checking VS2019 (16.11.31911.196) found at:
77 error gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"
77 error gyp ERR! find VS - found "Visual Studio C++ core features"
77 error gyp ERR! find VS - found VC++ toolset: v142
77 error gyp ERR! find VS - found Windows SDK: 10.0.19041.0
77 error gyp ERR! find VS - does not match this Visual Studio Command Prompt
77 error gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
77 error gyp ERR! find VS looking for Visual Studio 2015
77 error gyp ERR! find VS - not found
77 error gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
77 error gyp ERR! find VS msvs_version does not match this VS Command Prompt or the
77 error gyp ERR! find VS installation cannot be used.
77 error gyp ERR! find VS
77 error gyp ERR! find VS **************************************************************
77 error gyp ERR! find VS You need to install the latest version of Visual Studio
77 error gyp ERR! find VS including the "Desktop development with C++" workload.
77 error gyp ERR! find VS For more information consult the documentation at:
77 error gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
77 error gyp ERR! find VS **************************************************************
77 error gyp ERR! find VS
77 error gyp ERR! configure error
77 error gyp ERR! stack Error: Could not find any Visual Studio installation to use
77 error gyp ERR! stack     at VisualStudioFinder.fail (C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:122:47)
77 error gyp ERR! stack     at C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:75:16
77 error gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:363:14)
77 error gyp ERR! stack     at C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:71:14
77 error gyp ERR! stack     at C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:384:16
77 error gyp ERR! stack     at C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7
77 error gyp ERR! stack     at C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
77 error gyp ERR! stack     at ChildProcess.exithandler (node:child_process:404:5)
77 error gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
77 error gyp ERR! stack     at maybeClose (node:internal/child_process:1064:16)
77 error gyp ERR! System Windows_NT 10.0.19043
77 error gyp ERR! command "C:\\ProgramData\\scoop\\apps\\nodejs-lts\\current\\node.exe" "C:\\ProgramData\\scoop\\persist\\nodejs-lts\\bin\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--release"
77 error gyp ERR! cwd C:\ProgramData\scoop\persist\nodejs-lts\bin\node_modules\fibers
77 error gyp ERR! node -v v16.13.0
77 error gyp ERR! node-gyp -v v8.4.0
77 error gyp ERR! not ok
77 error node-gyp exited with code: 1
77 error Please make sure you are using a supported platform and node version. If you
77 error would like to compile fibers on this machine please make sure you have setup your
77 error build environment--
77 error Windows + OS X instructions here: https://github.com/nodejs/node-gyp
77 error Ubuntu users please run: `sudo apt-get install g++ build-essential`
77 error RHEL users please run: `yum install gcc-c++` and `yum groupinstall 'Development Tools'`
77 error Alpine users please run: `sudo apk add python make g++`
77 error 'nodejs' is not recognized as an internal or external command,
77 error operable program or batch file.
78 verbose exit 1

That does not match this Visual Studio Command Prompt line is the only thing make me confused and have no clue whatsoever.

Any helps appreciated.

@feryardiant
Copy link

Tried to install it inside Developer PowerShell for VS 2019 and Developer Command Prompt for VS 2019 the issue still persisted.

image

Noticed I have sudo prefix? Yes, I'm using sudo package just for convenience. Once I ran the same command inside "native" Administrator mode, no issue.

image

But still, I can't get its running on PowerShell

image

Is this line

does not match this Visual Studio Command Prompt

really means I have to run in Elevated VS Developer Shell?

@turbidwater
Copy link

@feryardiant Running via a Powershell launched from VS 2022's Tools > Command line > Dev powershell is what finally got it working for me once I got to this point

@nodejs nodejs locked as resolved and limited conversation to collaborators Nov 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests