"npm install leaflet-headless" 安装 Python 后返回错误

"npm install leaflet-headless" returning errors after Python installation

我正在尝试 运行 命令 'npm install leaflet-headless' 以便我可以轻松地将传单地图 API 与 Node.js 一起使用。我刚刚安装了 Python 并设置了目录(因为这是此特定安装中的先前错误),但现在我收到了一个我无法完全破译的新错误:

注意 - 我猜这需要 GTK,但我只是不知道如何设置它以用于此特定命令。所有安装似乎都不在此命令所需的目录中。

> 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.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

node-gyp 需要安装 python 和 Visual Studio 以及它们的可执行文件的路径。这个解决方法为我修复了它:

卸载以下产品,然后按所列顺序重新安装它们:

1) Visual C++ 2010 Express

2) Windows SDK 7.1

3) Visual Studio 2010 SP1

4) 针对 Windows SDK 7.1

的 Visual C++ 2010 SP1 编译器更新

确保您的环境路径设置正确!