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 条回复
sidkang
2021-11-21 07:38:46 +08:00
是的,同意楼上的意见,楼主不妨对自己涉及到不兼容的库都列一列更有意义,并且不兼容是指 arm 运行,还是 rosetta2 运行也失败,也可以说说看~
hello2090
2021-11-21 07:55:56 +08:00
@Vegetable 公司的代码不是用公司的电脑开发的吗?为啥要自己买?公司的程序 m1 上跑不了公司会给你 m1 吗?
hello2090
2021-11-21 07:59:50 +08:00
@zhouwb 既然不是说换新就换新,那就安心的等着公司 it 给你们换新电脑,为啥还要自己买不兼容的 m1 硬上呢?
MengiNo
2021-11-21 08:50:18 +08:00
不是很明白这种技术债务为什么要赖工具。就好比买了个 win11 电脑跑不起 金庸群侠传 要怪电脑不兼容一样。
All2B9S
2021-11-21 08:51:03 +08:00
兼容性确实是个问题,我就是因为学长和教授说 arm Mac 有兼容性问题最后买的二手 Intel Mac 。个人认为这应该是现阶段的最优解了。二手不贵,性能也够用,应该能挺到 arm Mac 解决所有兼容性问题的时候。
lucifer9
2021-11-21 09:00:42 +08:00
有没有试过用 `arch -x86_64` 来跑
aec4d
2021-11-21 09:04:20 +08:00
好家伙,很多人理解的兼容性就是新版本适配了 M1 ,那就是兼容性牛逼了。再下佩服!还有说技术债的,我一个搞开发的,一个项目依赖上百个库,人力也有限,我还要追着更新库的版本?但愿你们在使用的过程中不会遇到一定要用旧版本才行的时候,即使遇到了你也能自己解决
dot
2021-11-21 09:10:54 +08:00
@aec4d #46
键盘侠说话当然容易,大家项目不同依赖不同,张口就是技术债的,总监你来做?😂😂😂
loading
2021-11-21 09:13:08 +08:00
从回帖上还是看到盲目的果粉,兼容性都不谈就光说升级,如果一台电脑连主人的主要业务都无法支撑,要来干啥?
loading
2021-11-21 09:20:05 +08:00
同一台 m1 ,一千个用户就有一千多哈姆雷特,我是在等我的工具链适配好才会升级,要么就是工作换了,工具链能在 m1 跑了。说到底这台电脑只是工具而已。公司旧业务跑在旧平台,支撑几千万资产的业务,谁能随口就换掉?
ColorfulBoar
2021-11-21 09:22:15 +08:00
推荐 Mac 用户熟练掌握 doublethink:
x86 应用能跑 -> Rosetta2 很强大
x86 应用不能跑 -> 开发者适配不行
同理:
macOS 应用运行飞快 -> MacBook 性能好
macOS 应用运行缓慢 -> 开发者优化不行
kunkunzhang
2021-11-21 09:47:38 +08:00
前端还好,我用 m1 超过半年了基本没啥问题,后端涉及到编译的东西感觉还是差点意思
hello2090
2021-11-21 10:19:24 +08:00
@loading 这不怪苹果啊,连主要业务都支撑不了,这电脑根本就不该买啊
hello2090
2021-11-21 10:20:08 +08:00
@aec4d 这么牛逼的项目应该已经有牛逼的电脑在开发了吧,为啥硬要上还没完全适配的 m1 呢?
hello2090
2021-11-21 10:22:05 +08:00
@loading sorry 看错了,你和我说的是一个意思嘿嘿
pupboss
2021-11-21 10:24:50 +08:00
你喷的点不对,兼容性问题大不了找替代品,大不了找旧机器。而 M1 目前我认为最大的问题是莫名其妙死机,莫名其妙紫屏,运气好的时候一周一次,运气不好的时候一天三次
Badlion
2021-11-21 10:32:23 +08:00
@pupboss 我觉得你喷的才叫有问题。你不能代表我的 M1 ,我的起码 8 个月没出现过死机紫屏了
felixcode
2021-11-21 10:53:30 +08:00
基础库的兼容性问题客观存在,楼上这些人就别误导没买的人了。

难不成到时出了兼容性问题,骂公司骂领导骂项目?骂技术债?

或者到时一个个 @你们这些人找解决方案?
Leonard
2021-11-21 11:17:30 +08:00
买前了解一下自己需要的工具支持情况怎样再买吧,M1 体验再好,用不上也是白说
ruib
2021-11-21 11:49:23 +08:00
用到的库多了确实难免遇到兼容性问题,像 pyOpenSSL 的 native 版就用不了。目前是另外用 Rosseta 版 Terminal 单独配了一套开发环境,没遇到兼容性问题了,楼主可以试试

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

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

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

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

© 2021 V2EX