Mac mini M1 和 Macbook Pro 15(2018 i7) 寸前端 webpack 编译对比

2020-11-28 01:38:59 +08:00
 ChasLui

虽然在 node-gyp 编译 node-canvas 吃了点苦头, 但是 m1 真香

npm run dev

Macbook Pro 首次启动 97187ms Mac mini 首次启动 38979ms

2793 次点击
所在节点    Apple
6 条回复
ChasLui
2020-11-28 01:54:23 +08:00
MichealXie
2020-11-28 01:55:39 +08:00
我的配置跟你一模一样,牛逼,就等我的 mini 到了
YYYeung
2020-11-28 02:33:08 +08:00
搭车问一个,话说 mini 好像是有风扇的吧,所以猛起来的话,性能是跟 M1 的 mbp 一样的咯?
ChasLui
2020-11-28 15:12:02 +08:00
@YYYeung 两天了我就没听到过风扇声
allele
2021-01-10 12:23:36 +08:00
楼主 我也遇到了「 node-gyp 编译 node-canvas 」的问题。请问你是怎么解决的?谢谢
allele
2021-01-10 20:29:44 +08:00
@allele 鉴于楼主还没有回答我,我先自己回答一下我自己,以便后面搜到这个帖子的人可以看到。研究之后发现流程大概是这样的。
m1 原生的 node 版本是 15,根据这个 issue ( https://github.com/Automattic/node-canvas/issues/1688 ),node15 没有发布 canvas 的二进制版本。所以根据它的指示( https://github.com/Automattic/node-canvas#compiling )要从源码编译。
但是还没完,如果你的 homebrew 也是 m1 原生的,那么 homebrew 会安装在 /opt/homebrew 下。而 brew install 的东西都会在 /opt/homebrew/Cellar/下,不会软链接到 /usr/local/include 下。而 node-gyp 去编译的时候,本质上还是用 clang 去编译,找不到头文件,所以会报一个“fatal error: 'jpeglib.h' file not found”。解决的办法就是把 /opt/homebrew/Cellar/加到 clang 的 include path 里。我的做法是在~/.zshrc 中加入一行“export CPLUS_INCLUDE_PATH=/opt/homebrew/include”。这样这个问题就解决了。
但是由于 npm 的版本是 7,在最后 npm run dev 的时候会因为没有 process.env.npm_config_argv ( https://github.com/npm/cli/issues/1995)又报错。最后可能需要根据自己的需要去修改配置文件。
至此,项目是可以正常打开的。但是后面有没有别的问题还不得而知。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/730029

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX