Linux环境安装canvas,npm install canvas简明指南

本文记录了在MacOS Maverick上安装Node.js的canvas库时遇到的依赖错误及其解决过程。首先,由于缺少cairo库,npm安装失败。然后通过homebrew安装cairo,但因未安装XQuartz导致依赖错误。解决方法是下载并安装XQuartz。接着,安装cairo成功后,可能遇到pkg-config路径问题,通过设置PKG_CONFIG_PATH环境变量解决了这个问题。最终成功安装canvas并在Node.js中进行测试,确认运行正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装环境:Mac OSX Mavericks

要使用Node.js的canvas库,直接通过npm命令安装,通常,会得到一个编译错误:

$ npm install canvas

...

> node-gyp rebuild

...

No package 'cairo' found

...

npm ERR! not ok code 0

原因是依赖包cairo没有找到。

而cairo可以通过homebrew安装,但是,安装时又会有一个依赖错误:

$ brew install cairo

cairo: Unsatisfied dependency: XQuartz

Homebrew does not package XQuartz. Installers may be found at:

https://xquartz.macosforge.org

Error: An unsatisfied requirement failed this build.

根据错误提示,原因是没有安装XQuartz。由于Apple从OSX 10.5开始移除了X11的支持,为了继续运行X11程序,Apple搞了一个开源项目XQuartz来继续提供X11的支持。从官方网站https://xquartz.macosforge.org下载,安装即可。

装完XQuartz,再次运行:

$ brew install cairo

顺利安装成功!

再次尝试安装canvas,可能又会遇到以下错误:

$ npm install canvas

...

Package xcb-shm was not found in the pkg-config search path.

Perhaps you should add the directory containing `xcb-shm.pc'

to the PKG_CONFIG_PATH environment variable

Package 'xcb-shm', required by 'cairo', not found

...

原因是环境变量PKG_CONFIG_PATH没有正确设置。把它设置成如下:

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig

再次安装npm install canvas,成功!在Node.js中测试,成功:

$ node

> var Canvas = require('canvas');

undefined

由于Canvas依赖较多,故记录以便以后查阅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值