Jimliu


一只刚上路的前端程序猿


centos安装node-canvas的那些坑!

坑一

node-canvas包在build的时候 需要c11,所以最低的gcc版本应该为gcc 4.7。但是许多centos系统中安装的gcc默认版本为Gcc 4.4.7.
导致node-canvas安装不成功。需要将服务器的gcc版本更新。

坑二

我们侥幸的开了 gcc版本的坑,还需要安装cairo 等一系列依赖。。。

OS Command
OS X brew install pkg-config cairo libpng jpeg giflib
Ubuntu sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
Fedora sudo yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel giflib-devel
Solaris pkgin install cairo pkg-config xproto renderproto kbproto xextproto

坑三(神坑)

现在我们完美的避开了坑一和坑二,然后写好了一个验证码服务,刷新页面看验证码。我们满心欢喜的要看到验证码,奇迹发生了,里面全是小方框。
是系统字体的坑

1
yum -y install fontconfig

至此成功安装了canvas包。

最近的文章

前端下载文件

简介前端下载文件是一个非常常见的需求,但由于浏览器的安全策略的限制,我们通常只能通过一个额外的页面,访问某个文件的 url 来实现下载功能,但是这种用户体验非常不好。不过HTML5提供了download的属性。 1<a href="http://somehost/somefile.zip" d …

于  js 继续阅读
更早的文章

js中引入模块那些事

系统的总结一下 js 引入模块的方式。 主流模块及规范在es6以前,还没有提出一套官方的规范,从社区和框架推广程度而言,目前通行的javascript模块规范有两种:CommonJS 和 AMD CommonJS在CommonJS中,暴露模块使用module.exports和exports;在一个n …

于  js 继续阅读