Home > Apple Silicon, Mac administration, macOS, Rosetta 2, Scripting > Installing Rosetta 2 on Apple Silicon Macs

Installing Rosetta 2 on Apple Silicon Macs

With Apple now officially selling Apple Silicon Macs, there’s a design decision which Apple made with macOS Big Sur that may affect various Mac environments:

At this time, macOS Big Sur does not install Rosetta 2 by default on Apple Silicon Macs.

Rosetta 2 is Apple’s software solution for aiding in the transition from Macs running on Intel processors to Macs running on Apple Silicon processors. It allows most Intel apps to run on Apple Silicon without issues, which provides time for vendors to update their software to a Universal build which can run on both Intel and Apple Silicon.

Without Rosetta 2 installed, Intel apps do not run on Apple Silicon. So for those folks who need Rosetta 2, how to install it? For more details, please see below the jump.

You can install Rosetta 2 on Apple Silicon Macs using the softwareupdate command. To install Rosetta 2, run the following command with root privileges:

/usr/sbin/softwareupdate --install-rosetta

Installing this way will cause an interactive prompt to appear, asking you to agree to the Rosetta 2 license. If you want to perform a non-interactive install, please run the following command with root privileges to install Rosetta 2 and agree to the license in advance:

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

Having the the non-interactive method for installing Rosetta 2 available makes it easier to script the installation process. My colleague Graham Gilbert has written a script for handling this process and discussed it here:

https://grahamgilbert.com/blog/2020/11/13/installing-rosetta-2-on-apple-silicon-macs/

I’ve written a similar script to Graham’s, which is available below and from the following address on GitHub:

https://github.com/rtrouton/rtrouton_scripts/tree/master/rtrouton_scripts/install_rosetta_on_apple_silicon

#!/bin/bash
# Installs Rosetta as needed on Apple Silicon Macs.
exitcode=0
# Determine OS version
# Save current IFS state
OLDIFS=$IFS
IFS='.' read osvers_major osvers_minor osvers_dot_version <<< "$(/usr/bin/sw_vers -productVersion)"
# restore IFS to previous state
IFS=$OLDIFS
# Check to see if the Mac is reporting itself as running macOS 11
if [[ ${osvers_major} -ge 11 ]]; then
# Check to see if the Mac needs Rosetta installed by testing the processor
processor=$(/usr/sbin/sysctl -n machdep.cpu.brand_string | grep -o "Intel")
if [[ -n "$processor" ]]; then
echo "$processor processor installed. No need to install Rosetta."
else
# Check Rosetta LaunchDaemon. If no LaunchDaemon is found,
# perform a non-interactive install of Rosetta.
if [[ ! -f "/Library/Apple/System/Library/LaunchDaemons/com.apple.oahd.plist" ]]; then
/usr/sbin/softwareupdate –install-rosetta –agree-to-license
if [[ $? -eq 0 ]]; then
echo "Rosetta has been successfully installed."
else
echo "Rosetta installation failed!"
exitcode=1
fi
else
echo "Rosetta is already installed. Nothing to do."
fi
fi
else
echo "Mac is running macOS $osvers_major.$osvers_minor.$osvers_dot_version."
echo "No need to install Rosetta on this version of macOS."
fi
exit $exitcode

  1. Jano
    November 19, 2020 at 9:49 am

    This is not needed. The first time you run an Intel-compiled app the Mac will prompt you to install Rosetta. Basically it does what your Terminal-command told it to do.

    • November 20, 2020 at 4:44 am

      It is needed, it allows you to install Rosetta ahead of a staff member in your organisation needing the app they’re using. If they run it they would most likely need admin rights, which not all orgs give.

      • Jano
        November 20, 2020 at 8:22 am

        Yeah, I can see it being useful for admins but you could also just launch any Intel-compiled app and use that to get to the prompt to install Rosetta. So no, it’s not needed but some might find using Terminal easier.

        That’s fine but this post makes it sounds like all users have to do this to install Rosetta. Since this post is the second result I get from DuckDuckGo when searching for “installing rosetta 2” I think it could be misleading average users who will land here.

    • J
      December 1, 2020 at 9:41 pm

      The target audience for this blog are administrators who manage large numbers of Apple devices as their profession (such as the author, Rich Trouton). If you are an end user, then this isn’t really directed to you and you are correct that an end user does not need this method (though obviously this method will work for end users as well). However, system administrators who may have hundreds or thousands of Macs potentially spread globally, may very well need a method to automate the process and eliminate the prerequisite of user interaction. So the “need” in this case, is based on the concerns of the audience, not the requirements to enable Rosetta 2.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: