“npm install leaflet-headless” returning errors after Python installation

情到浓时终转凉″ 提交于 2019-12-12 05:55:28

问题


I'm trying to run the command 'npm install leaflet-headless' so I can use the leaflet map API with Node.js easily. I just installed Python and set the directory (as this was the previous error in this particular installation), but now I am getting a new error which I can't quite decipher:

Note - I'm guessing this requires GTK, though I just have no idea how to set it for use with this specific command. All the installs seem to not be in the directory required by this command.

> canvas@1.3.16 install C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\canvas
> node-gyp rebuild


C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\canvas>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Warning: Missing input files:
C:\GTK\bin\zlib1.dll
C:\GTK\bin\libexpat-1.dll
C:\GTK\bin\libpng14-14.dll
C:\GTK\bin\libcairo-2.dll
C:\GTK\bin\libfontconfig-1.dll
C:\GTK\bin\libfreetype-6.dll
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  Canvas.cc
  CanvasGradient.cc
  CanvasPattern.cc
  CanvasRenderingContext2d.cc
c:\users\rocco\desktop\node3\kdapp\node_modules\leaflet-headless\node_modules\canvas\src\Canvas.h(19): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory (compiling source file ..\src\CanvasGradient.cc) [C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\can
vas\build\canvas.vcxproj]
c:\users\rocco\desktop\node3\kdapp\node_modules\leaflet-headless\node_modules\canvas\src\Canvas.h(19): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory (compiling source file ..\src\Canvas.cc) [C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\canvas\buil
d\canvas.vcxproj]
c:\users\rocco\desktop\node3\kdapp\node_modules\leaflet-headless\node_modules\canvas\src\Canvas.h(19): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory (compiling source file ..\src\CanvasPattern.cc) [C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\canv
as\build\canvas.vcxproj]
  color.cc
  Image.cc
  ImageData.cc
c:\users\rocco\desktop\node3\kdapp\node_modules\leaflet-headless\node_modules\canvas\src\Canvas.h(19): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory (compiling source file ..\src\Image.cc) [C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\canvas\build
\canvas.vcxproj]
c:\users\rocco\desktop\node3\kdapp\node_modules\leaflet-headless\node_modules\canvas\src\Canvas.h(19): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory (compiling source file ..\src\ImageData.cc) [C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\canvas\b
uild\canvas.vcxproj]
  init.cc
  win_delay_load_hook.cc
c:\users\rocco\desktop\node3\kdapp\node_modules\leaflet-headless\node_modules\canvas\src\Canvas.h(19): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory (compiling source file ..\src\init.cc) [C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\canvas\build\
canvas.vcxproj]
c:\users\rocco\desktop\node3\kdapp\node_modules\leaflet-headless\node_modules\canvas\src\Canvas.h(19): fatal error C1083: Cannot open include file: 'cairo.h': No such file or directory (compiling source file ..\src\CanvasRenderingContext2d.cc) [C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_m
odules\canvas\build\canvas.vcxproj]
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:276:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\canvas
gyp ERR! node -v v4.6.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

> contextify@0.1.15 install C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\jsdom\node_modules\contextify
> node-gyp rebuild


C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\jsdom\node_modules\contextify>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  contextify.cc
  win_delay_load_hook.cc
     Creating library C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\jsdom\node_modules\contextify\build\Release\contextify.lib and object C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\jsdom\node_modules\contextify\build\Release\contextify.exp
  Generating code
  Finished generating code
  contextify.vcxproj -> C:\Users\Rocco\Desktop\Node3\kdApp\node_modules\leaflet-headless\node_modules\jsdom\node_modules\contextify\build\Release\\contextify.node
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "leaflet-headless"
npm ERR! node v4.6.0
npm ERR! npm  v2.15.9
npm ERR! code ELIFECYCLE

npm ERR! canvas@1.3.16 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the canvas@1.3.16 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the canvas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs canvas
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR!     npm owner ls canvas
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Rocco\Desktop\Node3\kdApp\npm-debug.log

回答1:


node-gyp needs python and Visual Studio installed and the path to their executables. This walkaround fixed it for me:

Uninstall the following products and then reinstall them in the order listed:

1) Visual C++ 2010 Express

2) Windows SDK 7.1

3) Visual Studio 2010 SP1

4) Visual C++ 2010 SP1 Compiler Update for the Windows SDK 7.1

Be sure that you env paths are set correctly !



来源:https://stackoverflow.com/questions/40072376/npm-install-leaflet-headless-returning-errors-after-python-installation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!