14 votos

Ejecutar todo en Rosetta 2 en un Mac con Silicon.

Recientemente he empezado a usar un MacBook Pro 13 con procesador Silicon (es decir, uno con procesador no Intel). He encontrado difícil la instalación de cierto 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 para mí, y me resulta muy difícil gestionar el uso de Rosetta 2 para estos comandos.

¿Existe 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 grandes pérdidas de rendimiento, pero estaría dispuesto a aceptarlas.

15voto

moodforaday Puntos 2633
  1. En Finder, ve a /Applications/Utilities/ (o presiona CMD+Shift+U).

  2. Selecciona "Terminal.app"

  3. Pulsa CMD+I (mayúscula i) para obtener información

  4. Marca la casilla para "Abrir usando Rosetta"

Como se muestra aquí:

introducir descripción de la imagen aquí

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

Si hay otras aplicaciones que están compiladas tanto para Apple Silicon como para Intel, pero siempre quieres ejecutarlas bajo Rosetta, repite el proceso "Obtener información" » "Abrir en Rosetta" para cada aplicación.

1 votos

Gracias. Tu 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 de Rosetta, algunos generan mensajes de error señalando una arquitectura incorrecta. Sospecho que esto se debe a que instalé un módulo Intel64 que ahora se está ejecutando 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?

1 votos

En cuanto a ejecutar Rosetta para todo, no, no creo que sea posible. Puedes preceder un comando específico con arch -x86_64. Por ejemplo, si quisieras ejecutar el comando date bajo Rosetta, podrías usar algo así como arch -x86_64 date. No estoy seguro de si hay una forma de utilizar eso para ayudar en tu situación.

5voto

Benjamin Moss Puntos 71

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

Espero que sea aplicable para otros también:

  1. Abre Finder y navega a Application/ Utilities
  2. Duplica la aplicación terminal haciendo clic con dos dedos en la app y cámbiale el nombre a Rosetta Terminal
  3. Ahora haz clic derecho en Rosetta Terminal y selecciona Obtener información
  4. Desde el menú de Obtener información, selecciona la opción "Abrir utilizando Rosetta"
  5. Ejecuta el comando arch en ambos terminales
  6. Asegúrate de que obtienes i386 en Rosetta Terminal (procesador Intel) y arm64 en Terminal Nativo (Apple Silicon)
  7. Siempre instala todas las aplicaciones/paquetes en el Terminal de Rosetta (por ejemplo, brew, node) y úsalo en el terminal Nativo.

En mi experiencia, debes seguir el paso 7 - de lo contrario puedes obtener un error de instalación.

Fuente - blog de Chris Gradwohl


Lee el blog de Chris Gradwohl y no te arrepentirás.

P.D. Ten en cuenta que el terminal Rosetta se comportará igual que el terminal nativo - para eso solo selecciona nuevamente la casilla de verificación (Abrir utilizando Rosetta) (mi experiencia personal).

1voto

Mike Butler Puntos 1

Para ejecutar un ejecutable dado (Universal) en arquitectura x86_64, escribe en la Terminal

arch -x86_64 ruta/al/ejecutable

Nota: al ejecutar una aplicación, en lugar de /Applications/Firefox.app (es una carpeta, se puede abrir en Finder con Mostrar contenido del paquete) utiliza la ruta al ejecutable como /Applications/Firefox.app/Contents/MacOS/firefox

Nota: Para verificar las arquitecturas disponibles del ejecutable, escribe file myexec o lipo -archs myexec

Nota: Mojave fue la última versión en admitir la arquitectura i386

(c) @rsethc (comentario), @TJ Luoma (comentario), mmmmmm (comentario)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X