记一次 mac m1 上安装 canvas 的踩坑记录

记一次 mac m1 上安装 canvas 的踩坑记录

五月 11, 2021 本文共计: 524 字 预计阅读时长: 2分钟

最近接触的一个项目是与canvas比较相关的,然后在启动项目的时候就GG了,困难重重,浪费了还是蛮多时间的。

先来看下错误的罪恶源头:

alt

我的第一反应是让同事也装一遍:

同事A: Node 版本 v14.0.0 安装会报错,但是不阻塞项目启动。

我的第二反应是:

查看自己的Node版本(v14.6.0),这可是当前官网的stable版本。
然后紧接着心中一声what fuck???!!!

随后就是一顿google

最终。


2000 years later

m1 的GPU、CPU不支持,那只能手动编译了。

1
2
3
4
5
# node-canvas github 首页的介绍

If you don't have a supported OS or processor architecture, or you use --build-from-source, the module will be compiled on your system. This requires several dependencies, including Cairo and Pango.

如果您没有受支持的OS或处理器体系结构,或者使用--build-from-source,则该模块将在您的系统上编译。这需要几个依赖项,包括Cairo和Pango

alt

Perfect,完美解决~~~


然而,又有另外一个问题:

alt

虽然是警告,但是值得关注一波,why?

alt

好家伙,原来是被废弃了,推荐我们用另外一个人的:@mapbox/node-pre-gyp:

然后紧接着奔着canvas仓库去了。

alt

过然在master分支是做了变更的,但是:

alt

心里又是一句:oh my god! what fuck!!??

然后,但行好事,莫问前程,我提了issue给仓库:

alt

The source code of the 2.7.0 npm package does not contain the changes in the repository. #1798


But,仓库管理员在30分钟后给我关掉了,给出的回复是:

1
2
3
4
You are comparing with master and not v2.7.0, there has simply been some commits to master since we cut the 2.7.0 release...

https://github.com/Automattic/node-canvas/blob/v2.7.0/package.json

我直呼好家伙,最新版本的release版本不跟master最新代码保持同步??

老外果然懒啊!

最终就放弃吐槽了,我的问题也解决了。


最后,我叫Eric,我跟我的同学在github建立一个Awesome的仓库,有兴趣可以一起参与呀~~~

alt

仓库地址:https://github.com/bigbigDreamer/awesome