编译node-canvas

本文章涉及的内容在macos及linux下成功编译。

文章内容参考网上几篇文章并做了相应整理。


1、添加环境变量

vi ~/.bashrc 添加以下4句,

export PKG_CONFIG_PATH='/usr/local/lib/pkgconfig' 
export LD_LIBRARY_PATH='/usr/local/lib':$LD_LIBRARY_PATH
export LDFLAGS="-L/usr/local/zlib/lib"
export CPPFLAGS="-I/usr/local/zlib/include"


保存并运行:

source ~/.bashrc


2、编译zlib库,如果已经存在可跳过

curl http://www.zlib.net/zlib-1.2.8.tar.gz -o zlib-1.2.8.tar.gz
tar -xvzf zlib-1.2.8.tar.gz && cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make
make install



3、编译png库,如果已经存在可跳过

curl ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng15/libpng-1.5.17.tar.gz -o libpng.tar.gz
tar -zxf libpng.tar.gz && cd libpng-1.5.17/
./configure --prefix=/usr/local
make
make install



4、编译jpeg库,如果已经存在可跳过

curl http://www.ijg.org/files/jpegsrc.v8d.tar.gz -o jpegsrc.tar.gz
tar -zxf jpegsrc.tar.gz && cd jpeg-8d/
./configure --disable-dependency-tracking --prefix=/usr/local
make
make install



5、编译pixman库,如果已经存在可跳过

curl http://www.cairographics.org/releases/pixman-0.28.2.tar.gz -o pixman.tar.gz
tar -zxf pixman.tar.gz && cd pixman-0.28.2/
./configure --prefix=/usr/local
make
make install



6、编译freetype库,如果已经存在可跳过

curl http://download.savannah.gnu.org/releases/freetype/freetype-2.4.11.tar.gz -o freetype.tar.gz
tar -zxf freetype.tar.gz && cd freetype-2.4.11/
./configure --prefix=/usr/local
make
make install



7、编译cairo

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
make install



8、安装node-canvas

npm install -g canvas@1.0.0


在安装最新版本node-canvas时出错。这里我安装的是node-canvas 1.0.0版本。


可将下面内容保存成.sh文件,直接运行可自动执行上面的指令。我注释掉了所使用库文件的下载,你可根据自身需求进行修改。

export PKG_CONFIG_PATH='/usr/local/lib/pkgconfig' 
export LD_LIBRARY_PATH='/usr/local/lib':$LD_LIBRARY_PATH
export LDFLAGS="-L/usr/local/zlib/lib"
export CPPFLAGS="-I/usr/local/zlib/include"
#curl http://www.zlib.net/zlib-1.2.8.tar.gz -o zlib-1.2.8.tar.gz
tar -xvzf zlib-1.2.8.tar.gz && cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make
make install
echo "###########################"
cd ..
#curl ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng15/libpng-1.5.18.tar.gz -o libpng.tar.gz
tar -zxf libpng.tar.gz && cd libpng-1.5.18/
./configure --prefix=/usr/local
make
make install
echo "###########################"
cd ..
#curl http://www.ijg.org/files/jpegsrc.v8d.tar.gz -o jpegsrc.tar.gz
tar -zxf jpegsrc.tar.gz && cd jpeg-8d/
./configure --disable-dependency-tracking --prefix=/usr/local
make
make install
echo "###########################"
cd ..
#curl http://www.cairographics.org/releases/pixman-0.28.2.tar.gz -o pixman.tar.gz
tar -zxf pixman.tar.gz && cd pixman-0.28.2/
./configure --prefix=/usr/local
make
make install
echo "###########################"
cd ..
#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
make install
echo "###########################"
cd ..
#npm install -g canvas




转载于:https://my.oschina.net/u/129529/blog/266792

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值