编译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 [email protected]


在安装最新版本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




你可能感兴趣的:(canvas,node.js,验证码,node-canvas)