M1 的兼容性可能没你想的那么好

2021-11-20 14:26:35 +08:00
 aec4d

看网上很多言论盛赞 M1 的兼容性,买之前我搜了下 B 站相关视频https://www.bilibili.com/video/BV1TK4y1L7DU (只是用作举例),觉得兼容性还不错

到手后用了一周发现是过于乐观了。

M1 对 X86 二进制文件的兼容性挺好,现在很多 App 甚至都有原生 ARM 版本。所以很多 app 和 x86 二进制文件都能完美运行。主要的问题出在涉及**C/C++**的编译流程上,老版本库尤其如此。在网上看到的很多人说 M1 兼容性好的操作是使用最新版。不得不说开发者社区很热情,很多开发工具 /库的最新版已经完美适配了 M1 。安装和使用都没有问题

老版本就是另外一种情况了。若干年前应该不会有人想到自己写的针对 X86 构建流程,有人会尝试在 arm 上去构建。所以涉及到**C/C++**编译的老版本软件很有可能会构建失败

我尝试安装 ARM 版的 python, 3.7 以下的版本还没有安装上。对老项目执行了pip install -r requirements.txt numpy,scipy,pandas,cryptography 等接近十个涉及到 C 的库全部不兼容,惊奇的是把这些库升级到最新版都能正常安装,只有一个库不支持, 但是也有人放出了支持的 wheel 包。最后要想使用这些库,我还得对升级后项目做一个大测试

设想一下,以前用 x86 ,很多 github 项目拷贝下来就能正常运行的,用了 M1 后可能就不行了~~

因此个人还是觉得 M1 适合视频工作者 /移动端,前端开发人员。他们的工具不太涉及到老版本工具的 C/C++构建流程

综上,我在办公室放了一台台式机,安装了 Exsi, 虚拟了 ubuntu 和 windows ,ARM 不支持的时候走远程开发流程

用了一下 jetbrains gateway ,可惜,体验并不好

希望各位开发大佬下单的时候考虑一下自己工作流的兼容性,尤其是老项目的兼容性

也希望远程开发工具能给力啊,毕竟谁不想拿个轻薄本连强大的服务器远程开发呢~~~

11817 次点击
所在节点    macOS
94 条回复
bipy
2021-11-20 19:32:44 +08:00
Python 推荐换用 miniforge 来管理依赖,https://formulae.brew.sh/cask/miniforge
可以解决一些 pip 无法安装的包比如 scipy

目前遇到的无法安装且无法替代的包只记得有 z3-solver
explorerproxy
2021-11-20 20:19:23 +08:00
我 typc-c 转 hdmi2.1 都有问题
lululau
2021-11-20 20:22:26 +08:00
都是讨论软件是不是兼容特定硬件,M1 哪来的兼容不兼容之说😂
aec4d
2021-11-20 21:28:29 +08:00
@changhai 慢不慢不重要,Python 涉及到 C 的低版本库几乎全军覆没,具体哪些库没必要列出
aec4d
2021-11-20 21:30:07 +08:00
@bipy 有试过特定的低版本库吗,主流库的最新版本差不多都已经完成了兼容
aec4d
2021-11-20 21:33:11 +08:00
@zhouwb 是的,想清楚很重要,我只是觉得网上对 M1 的兼容性过于乐观了。即使新版本已经对 M1 做了兼容,但是大项目开发很多时候新版本不是想上就能上的
coolmint
2021-11-20 22:04:18 +08:00
做 Android, iOS, Flutter 的下个月收到货后试试,希望没有太大问题,当然视频生产力也是我最看重的一点。
zhouwb
2021-11-20 22:11:33 +08:00
@aec4d 非常赞同,即使是做新的东西,研发的基础组件也未必都是新的,这里面不光是开发的问题,还牵扯到人财物等很多问题,尤其是大项目,真的不是说换新就换新啊
berchtesgaden
2021-11-20 22:44:28 +08:00
@Biggoldfish 好奇,是 Apple 的工厂,还是富士康的工厂?
berchtesgaden
2021-11-20 22:46:58 +08:00
看完楼主的长篇大论,感觉是 M1 Mac 作为刚刚发布一年的新架构电脑,兼容性真好。
wishyy
2021-11-20 22:53:39 +08:00
@Biggoldfish 说一万遍了不嫌腻吗
1002xin
2021-11-20 22:54:41 +08:00
我以为自己回到了十几年前
6i3BMhWCpKaXhqQi
2021-11-20 23:01:58 +08:00
什么时候技术讨论都走意识流了?
没人否认 M1 的问题,我也遇到了一些,但空对空的没什么意义。
blocked ,不用再回我
gjquoiai
2021-11-21 00:22:57 +08:00
emm 我只好说你对自己的开发环境了解不够,或者说没有事先测试过 arm 架构
ganbuliao
2021-11-21 02:20:02 +08:00
用了半年是有一些兼容性的问题,但是用作开发环境的话还好大部分都能解决
Vegetable
2021-11-21 02:26:20 +08:00
感觉很多人没抓住重点。
你买个电脑,公司的代码不能运行,你能擅自切换依赖到最新版吗
ophunter
2021-11-21 03:06:36 +08:00
心疼楼主,楼主碰到脑残了
bao3
2021-11-21 06:12:38 +08:00
@Vegetable 电脑 14 天退货,既然影响工作为啥不退?如果退了,也就没你说的情况了?
minamike
2021-11-21 06:29:53 +08:00
只能说没你自己想的那么好
对大多数 intel 芯片 mac 转换过来的用户来说兼容性挺好的了
holulu
2021-11-21 06:47:15 +08:00
兼容性好不好应该是根据自己的使用场景决定的吧,跟其他人有什么关系?

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

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

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

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

© 2021 V2EX