npm包canvas的安装笔记

发布于 2020-12-14  987 次阅读


需要本地编译的npm包大概是最阴间的那种npm包了。有的是因为需要额外下载二进制文件,要再设置一次代理;有的是有一堆环境依赖,比如canvas。导致竹竹在Windows上部署失败80%的原因都是这个包。

这次在开坑安装canvas的时候就被搞了一波。关键是我的部署工具的输出不知道为什么出乱码,有点影响对问题的判断。

看了许久才发现是cairo.h这个文件丢失

不过最后发现其实还是得仔细看文档(得看说明书)canvas的github wiki里有明确的写出需要安装的依赖。

行,这次锅是我的。下次装这种原生依赖一定先看文档。:pcr.tamaki_smile:

我碰到的问题

cairo.h: No such file or directory ->没有找到cairo.h这个文件

cairo是打包在GTK中的一个库。如果出现了cairo.h找不到的问题,那多半是GTK没有正确配置。那么在这条错误之前你应该会看到:

[code lang="powershell" line_number_start=1]Warning: Missing input files:
C:\GTK\bin\libcairo-2.dll
C:\GTK\bin\zlib1.dll
C:\GTK\bin\libfreetype-6.dll
C:\GTK\bin\libpangocairo-1.0-0.dll
C:\GTK\bin\libfontconfig-1.dll
C:\GTK\bin\libexpat-1.dll
C:\GTK\bin\libpangowin32-1.0-0.dll
C:\GTK\bin\libintl-8.dll
C:\GTK\bin\libglib-2.0-0.dll
C:\GTK\bin\libgmodule-2.0-0.dll
C:\GTK\bin\libpangoft2-1.0-0.dll
C:\GTK\bin\libgobject-2.0-0.dll
C:\GTK\bin\libpango-1.0-0.dll
C:\GTK\bin\libpng14-14.dll
C:\GTK\bin\libgthread-2.0-0.dll
gyp info ok[/code]

FTP上下载对应架构的压缩包(如gtk+-bundle_2.22.1-20101229_win64.zip),解压后放在C:\GTK\就能解决了。

jpeglib.h: No such file or directory -> 没有找到jpeglib.h

没找到libjpeg,看C盘下面有没有/libjpeg-turbo64之类的文件夹,没有去SourceForge下一个。Windows平台应该下的是后缀vc的exe,然后点击安装就行了。(所以为什么这些库都要装在C盘)

其他...

如果还碰到了别的问题,那这位老哥应该能帮到你。:pcr.一切都会好起来的: