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 ,可惜,体验并不好

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

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

11827 次点击
所在节点    macOS
94 条回复
ruib
2021-11-21 23:55:08 +08:00
@aec4d 是的,homebrew 两种架构默认的安装目录就是不同的。然后我在.zshrc 里放了下面这段:

# Multiple Homebrews on Apple Silicon
if [ "$(arch)" = "arm64" ]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
else
eval "$(/usr/local/bin/brew shellenv)"
fi

希望对你有帮助
psklf
2021-11-22 09:25:49 +08:00
@aec4d 有道理,工作中不知道什么时候需要编一个 10 年前的工具,然后一堆乱七八糟依赖都需要编译,ARM 平台面对这种情形到底好不好用还真不知道。
ssbg2
2021-11-22 10:20:53 +08:00
JAVA 为主的服务器端开发还是可以的
RikkaFlame
2021-11-22 18:19:28 +08:00
要是 WIN 本的屏幕和音响能跟上,我是真的一点也不想用 macbook.
paopaosa
2021-11-22 19:26:38 +08:00
所以还是要结合自己实际的工作内容进行选择,14 天内还可以退货。
Rooney1
2021-11-23 00:12:26 +08:00
噗 我也是看了 b 站的视频加上论坛一片称赞。。。
dope7
2021-11-23 09:14:18 +08:00
前几天公司给了台 Mac mini m1,这几天用下来,确实是遇到很多 m1 上出现的兼容性问题。。我 自己也买了新的 mbp ,等了快一个月了还有一星期发货,开始有点纠结了
dblpx
2021-11-23 16:10:14 +08:00
emmm……关于楼主提到的 Python ,我甚至搭建好了 torch 环境,并训练了几个小的神经网络了……并没有什么问题……
yangzzzzzzzt1
2021-11-25 09:19:55 +08:00
@All2B9S same ,但我在想 m1 一直不解决这种兼容性问题的话,下一步电脑是不是要换 windows
All2B9S
2021-12-04 06:12:37 +08:00
@yangzzzzzzzt1 Windows 太割裂了,别的不说,控制面板和设置到现在还不能合二为一就离谱
lanmzx
2021-12-04 14:13:25 +08:00
@All2B9S 为啥非要合二为一?新用户老用户习惯都照顾着有啥不行? 没围着你转就是离谱? 在家皇帝当习惯了吧
All2B9S
2021-12-05 07:57:54 +08:00
@lanmzx 问题是一个系统四种 UI 设计风格,哪怕是保留控制面板但至少把设计语言统一一下吧?😓
zhaomeicheng
2022-01-29 21:53:34 +08:00
@hello2090 现在有一些厂貌似给员工提供的是 M1 芯片的电脑...而且还有一些公司提供的电脑性能太差了,只能用自己买的 M1 芯片电脑啊。当然你可以杠我,是公司、团队巴拉巴拉的问题,我只是想说,是有一部分群体会遇到 楼主所说的额问题的。
hello2090
2022-01-30 07:34:17 +08:00
@zhaomeicheng 你没看清楼主帖子的主题吗?
“希望各位开发大佬下单的时候考虑一下自己工作流的兼容性,尤其是老项目的兼容性”

既然公司买的电脑干不了活那肯定是公司的问题啊,不就是楼主提醒要注意的事情吗?我又没说 M1 没兼容性问题

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

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

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

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

© 2021 V2EX