MacOS之Rosetta技术的引入

提示:宝子们,希望文章对你们有所帮助, 请一键三连支持博主下吧~

文章目录


前言

博主的个人开发环境和配置说明:
MacOS Monterey 版本 12.6.8 Apple M1
Homebrew 版本4.1.12-8-gafbea15

随着Apple Silicon的推出,使得苹果的电脑的性能得到飞跃的提升,M1芯片就是其中比较典型的代表,但是芯片的的更迭,最需要解决的问题就是新平台上的应用能否向下兼容,原来基于Intel架构芯片开发的应用能够在新平台上顺利运行?于是乎就有了Rosetta


一、Rosetta 是什么?

Rosetta 是苹果为Apple Silicon芯片推出的一个关键技术。它的主要作用简单的来说就是把Intel芯片处理的应用程序指令进行转换,让Apple Silicon芯片能识别和理解,从而使得这些应用程序能够在M1芯片上运行;这里可以把它看作是一个翻译器,就是把Apple Silicon芯片不理解的Intel芯片语言翻译成能理解的样子;

二、关于安装Rosetta

当您首次尝试在M1芯片上运行基于Intel的应用程序时,系统通常会自动提示您安装Rosetta;

也可以通过 终端输入命令softwareupdate --install-rosetta来安装Rosetta

一旦Rosetta 2安装完成,它将在后台静默运行,为需要的应用程序提供必要的支持

三、关于Rosetta的问题分享

本来大概率情况下,Rosetta的安装并不会有什么特别的问题,博主自己也不记得之前是不是装过Rosetta,只是今天在终端使用homebrew安装软件的时候,出现了报错信息,大致内容是关于Rosetta的;

可以看出,他提示并建议我们,homebrew已经默认是ARM框架了,不需要在Rosetta下使用homebrew安装软件。或者如果一定要在该环境下安装,需要执行另外的语法语句,或者将homebrew安装到/usr/local下;

解决办法:

(1)通过报错的信息截图中,下方其实他也给了我们解决办法,如果一定要在这个环境下操作,需要的语句命令格式: arch -arm64 brew install +

(2)另外,我们在应用程序中,找到实用工具->终端右键打开简介,会看到一个选项,将它关闭即可;记得重启终端才会生效;


总结

首先,Rosetta 是专门为了支持那些尚未更新为原生 Apple 芯片指令集的第三方命令行工具或脚本使用,所以在终端上我们可以不需要开启这个功能;按需开启即可;

其次,在使用homebrew的时候,我们需要知道它是默认安装在原生 ARM64 架构下的默认目录(/opt/homebrew)中的。Homebrew 在 Apple Silicon Mac 上默认是为 ARM64 架构安装的,所以不需要通过 Rosetta 来运行;

相关推荐
小江村儿的文杰5 小时前
XCode Build时遇到 .entitlements could not be opened 的问题
ide·macos·ue4·xcode
天涯倦客的美丽人生7 小时前
2024年11月最新 Alfred 5 Powerpack (MACOS)下载
macos
SoraLuna8 小时前
「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解
开发语言·算法·macos·cangjie
总爱写点小BUG8 小时前
VM虚拟机装MAC后无法联网,如何解决?
macos
Cod_Next15 小时前
Mac系统下配置 Tomcat 运行环境
java·macos·tomcat
ZVAyIVqt0UFji17 小时前
iOS屏幕共享技术实践
macos·ios·objective-c·cocoa
Zhijun.li@Studio19 小时前
Mac下的vscode远程ssh免密码登录
vscode·macos·ssh
SoraLuna20 小时前
「Mac玩转仓颉内测版25」基础篇5 - 布尔类型详解
开发语言·算法·macos·cangjie
黑色叉腰丶大魔王2 天前
《macOS 开发环境配置与应用开发》
macos
Enougme2 天前
mac安装appuim
macos·appium