Issue
I'm getting the following error when I run my Jenkins job. I've installed MSBuild 15 and 17 and specified the correct path.
Can anyone shed some light on this? Where the issue is. Thanks.
(x86)\Jenkins\workspace\POS4> npm install
[email protected] install C:\Program Files (x86)\Jenkins\workspace\POS4 node-gyp rebuild
C:\Program Files (x86)\Jenkins\workspace\POS4>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild ) Warning: Missing input files: C:\Program Files (x86)\Jenkins\workspace\POS4\build..\build\Release\binding.node Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. C:\Program Files (x86)\Jenkins\workspace\POS4\build\binding.vcxproj(20,3):
error MSB4019: The imported project "C:\Micr osoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:182:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:238:12) gyp ERR! System Windows_NT 10.0.17134
Solution
This is quite a common issue faced by users who build on a Windows based operating system. A node-gyp
error means that a native module has failed to build. IMHO there has never been one single answer that has directly solved this issue in my experience. However below is a checklist I would suggest to follow if anyone else comes across node-gyp
errors. You may have already tried these but just leaving it for reference.
- Install windows build tools using
npm install --global windows-build-tools
. This will enable compiling of native node modules and is courtesy of felixrieseberg/windows-build-tools. Build tools include items like Python and Visual C++ packages (Python 2.7 seems to be the preferred one by node-gyp) - Configure node-gyp to generate the appropriate build files for your project using
node-gyp configure
ornode-gyp configure --msvs_version=2015
in your case since you mentioned that you have installed a MSBuild 15 and 17. It would be better to stick to one and configurenode-gyp
to it (Go through node-gyp for more available commands such asrebuild
) - Ensure your
npm config
path for Python is set correctly. If you installed the build tools manually or using the link mentioned above ensure that yournpm config
points to a valid installation directoryThese are just for reference and if I come across any more I will add them here as juggling
node-gyp
on Windows machines is something I have had trouble in the past and currently.
This error is also commonly thrown for errors caused by native node modules such as SQLite since native bindings are unable to be found.
Answered By - imaadhrizni