安装node-canvas避坑指南

Posted by yuk on 2016-05-13

MacOS安装node-canvas

官网地址 https://github.com/Automattic/node-canvas/wiki/Installation---OSX
按照一步一步好麻烦,于是另辟蹊径.

先安装brew
1
curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
安装完毕更新
1
sudo brew update

安装pkgconfig

1
2
sudo brew install pkgconfig
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

安装pixman

1
sudo brew install pixman

安装cairo

1
sudo brew install cairo

安装canvas

1
npm install canvas@1.1.6

中途可能要装一个XQuartz,直接按照提示在官网下一个即可.

Centos6.x安装node-canvas

首先依赖库

1
yum install cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango-devel

安装canvas

1
npm install canvas@1.1.6

报错

1
node:/user/lib64/libpangocairo-1.0.so: undefined reference to `cairo_ft_font_face_create_for_pattern'

解决方法

卸载用yum装的

1
sudo yum erase cairo

(重装libpng?)
重装cairo
https://github.com/Automattic/node-canvas/wiki/Installation---Amazon-Linux-AMI-(EC2)

1
2
3
4
5
$ curl http://cairographics.org/releases/cairo-1.12.14.tar.xz -o cairo.tar.xz  
$ tar -xJf cairo.tar.xz && cd cairo-1.12.14/
$ ./configure --disable-dependency-tracking --without-x --prefix=/usr/local
$ make
$ sudo make install

遇到node-gyp卡住了

使用淘宝的npm库!!!就可以了
·=
你可以使用我们定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

1
$ npm install -g cnpm --registry=https://registry.npm.taobao.org

或者

1
2
3
4
alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"

然后

1
cnpm install canvas@1.1.6

完美!