Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

node-gyp configure got "gyp ERR! find VS"

I am trying to start about node c/c++ add-on. the node-gyp command got error

I have installed vs2019, my command is

node-gyp configure --msvs_version=2019

the verbose output is

gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp info find Python using Python version 2.7.15 found at "C:\Users\seact\.windows-build-tools\python27\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 2019
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:\Program Files\node-win-x64\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at findVisualStudio2013 (D:\Program Files\node-win-x64\node_modules\node-gyp\lib\find-visualstudio.js:74:16)
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (D:\Program Files\node-win-x64\node_modules\node-gyp\lib\find-visualstudio.js:344:14)       
gyp ERR! stack     at findVisualStudio2015 (D:\Program Files\node-win-x64\node_modules\node-gyp\lib\find-visualstudio.js:70:14)
gyp ERR! stack     at regSearchKeys (D:\Program Files\node-win-x64\node_modules\node-gyp\lib\find-visualstudio.js:377:20)
gyp ERR! stack     at regGetValue (D:\Program Files\node-win-x64\node_modules\node-gyp\lib\util.js:54:7)
gyp ERR! stack     at D:\Program Files\node-win-x64\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:301:5)
gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
gyp ERR! stack     at maybeClose (internal/child_process.js:982:16)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "D:\\Program Files\\node-win-x64\\node.exe" "D:\\Program Files\\node-win-x64\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--msvs_version=2019"
gyp ERR! cwd D:\Projects\learn_node_ext
gyp ERR! node -v v10.16.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
like image 339
Seact Avatar asked Aug 18 '19 03:08

Seact


People also ask

Does node gyp need Visual Studio?

It works without Visual Studio, but you'll need to install Windows SDK: Get Windows SDK from https://www.microsoft.com/en-us/download/details.aspx?id=8442.

What is node gyp in NPM?

node-gyp is a cross-platform command-line tool written in Node. js for compiling native addon modules for Node. js. It contains a vendored copy of the gyp-next project that was previously used by the Chromium team, extended to support the development of Node.

How to get node-Gyp to work with Python?

Now that you have Python 2.7, you’re going to have to set Node to use it by default. To do that, run this command: npm config set python python2.7 If you followed the last few steps, you should now have everything necessary to get node-gyp working.

What version of python do I need for node Gyp?

You’ll have to run this command: npm config set msvs_version 2015 –global 5. Make sure you have Python 2.7 installed. Next up is to download Python 2.7. This is important–by default, you’ll install the newest version (3.x.x), but only 2.7 is compatible with node-gyp.

How to fix node-Gyp issues on Windows?

A Comprehensive Guide to Fixing Node-Gyp Issues on Windows 1. Try running npm install with the --no-optional flag.. If you’re lucky, the dependency that requires node-gyp will be... 2. Try downloading the windows-build-tools package.. According to the node-gyp documentation, this step should be ...

How do I install a package that requires node-Gyp?

This guide is meant to help solve the issues that can arise when installing a package that requires node-gyp. 1. Try running npm install with the --no-optional flag. If you’re lucky, the dependency that requires node-gyp will be optional, and you can skip the entire process required to get it working.


3 Answers

You do not have to install Visual Studio, just install the windows build tools:

  1. run CMD as Admin
  2. run npm install --g --production windows-build-tools

This should fix that.

[1]: https://i.stack.imgur.com/31D1U.png

like image 124
Ghaith Al-Rawi Avatar answered Oct 17 '22 12:10

Ghaith Al-Rawi


Open your Visual Studio & then in 'search box' search VS 2019 C++ x64/x86 build tools and install then search Desktop development with C++ install it. Hope this helps.

like image 21
Jay Prakash Thakur Avatar answered Oct 17 '22 13:10

Jay Prakash Thakur


There are 2 aspects to this error. Now in 2022, if you have installed Visual Studio 2022, even after installing Desktop development with C++ or the build tools it still wont work.

Few things you need to do even after installation. npm config get python should be set to Python 3.x --> npm config set python C:\Python310\python.exe

npm config get msvs_version should be using 2022 --> npm config set msvs_version 2022 --global

Additionally you can set npm config set msbuild_path "C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Current\Bin\MSBuild.exe"

your VCINSTALLDIR ENV variable should be set to C:\Program Files\Microsoft Visual Studio\2022\Community\VC

VCINSTALLDIR

In some case it still wont work, then you can follow the additional steps, visit the folder of your Node.js exe installation, should be same even for an nvm node version; https://github.com/nodejs/node-gyp/blob/master/docs/Updating-npm-bundled-node-gyp.md

cd "C:\Program Files\nodejs"
cd node_modules\npm\node_modules\@npmcli\run-script

npm install node-gyp@latest

like image 23
STEEL Avatar answered Oct 17 '22 11:10

STEEL