Ejecute todo en Rosetta 2 en Silicon Mac

Recientemente comencé a usar un Silicon MacBook Pro 13 (es decir, uno con un procesador que no es Intel). He encontrado difícil instalar algún software, por ejemplo, instalar Python a través de Homebrew e instalar paquetes de Python a través de Pip. Además, para algunos programas existen puertos a la nueva arquitectura, pero estos puertos contienen errores, por ejemplo, el paquete Tensorflow para Python. También uso un IDE que ejecuta algunos comandos de Python y algunos comandos de Terminal, y me resulta muy difícil administrar el uso de Rosetta 2 para estos comandos.

¿Hay alguna manera de configurar mi Mac para que todo el software se comporte como lo haría en un procesador Intel? Por ejemplo, ¿usando Rosetta 2 para cada instrucción del procesador? Entiendo que eso significaría pérdidas sustanciales de rendimiento, pero estaría feliz de aceptarlas.

Respuestas (2)

  1. En Finder, vaya a /Aplicaciones/Utilidades/ (o presione CMD+Shift+U).

  2. Seleccione "Terminal.aplicación"

  3. Presione CMD+I (mayúsculas i) para "Obtener información"

  4. Casilla de verificación para "Abrir usando Rosetta"

Como se muestra aquí:

ingrese la descripción de la imagen aquí

Después de eso, cualquier proceso en Terminal se comportará como si estuviera en una Mac con Intel. Esta es la mejor manera de funcionar brewen este momento, y han dicho que habrá un proceso para pasar a ARM cuando llegue el momento.

Si hay otras aplicaciones compiladas tanto para Apple Silicon como para Intel, pero siempre desea ejecutarlas en Rosetta, repita el proceso "Obtener información" » "Abrir en Rosetta" para cada aplicación.

Gracias. Su respuesta explica cómo ejecutar Homebrew usando Rosetta. Así es como lo hice en mi máquina. Mi problema es que cuando instalo módulos de Python y los ejecuto en mi terminal Rosetta, algunos de ellos generan mensajes de error que apuntan a una arquitectura incorrecta. Sospecho que se debe a que instalé un módulo Intel64 que ahora se ejecuta en Arm64. No sé cómo aplicar Rosetta aquí. Por lo tanto, me gustaría aplicar Rosetta globalmente a todo lo que se ejecuta en mi máquina. ¿Puedes comentar si esto es posible?
En cuanto a ejecutar Rosetta para todo, no, no creo que eso sea posible. Puede anteponer un comando específico con arch -x86_64. Por ejemplo, si quisiera ejecutar el datecomando bajo Rosetta, podría usar como arch -x86_64 date. No estoy seguro de si hay una manera de que puedas usar eso para ayudar a tu situación.

Compartiendo mi experiencia al instalar brew, node, mysql y php.

Espero que también sea aplicable para otros:

  1. Abre Finder y navega hastaApplication/ Utilities
  2. Duplique la terminalaplicación haciendo clic con dos dedos en la aplicación y cámbiele el nombre aRosetta Terminal
  3. Ahora haga clic derecho en Rosetta Terminal y haga clic enGet Info
  4. Ahora desde el Get infomenú, marque la opción "Abrir usando Rosetta"
  5. Ejecutar comando archen ambos terminales
  6. Asegúrese de utilizar i386Rosetta Terminal (procesador Intel) y arm64Native Terminal (Apple Silicon)
  7. Instale siempre todas las aplicaciones/paquetes en la terminal de Rosetta (p. ej., brew, node) y utilícelos en la terminal nativa .

En mi experiencia, debe seguir el paso 7; de lo contrario, puede obtener un error de instalación.

Fuente : blog de Chris Gradwohl


Pasaos por el blog de Chris Gradwohl y no os arrepentiréis.

PD Tenga en cuenta que el terminal Rosetta se comportará igual que el terminal nativo; para eso, simplemente seleccione la casilla de verificación ( Open using Rosetta) nuevamente (mi experiencia personal).