¿Dónde especifico --platform linux/arm64 en la secuencia ./launcher rebuild app?
Necesito probar Discourse/Docker localmente en M1.
Sería genial establecer esto hasta que la compilación ARM esté completamente implementada.
saludos cordiales,
Walker
¿Dónde especifico --platform linux/arm64 en la secuencia ./launcher rebuild app?
Necesito probar Discourse/Docker localmente en M1.
Sería genial establecer esto hasta que la compilación ARM esté completamente implementada.
saludos cordiales,
Walker
Discourse no funciona en arm64 en este momento, por lo que no hay un interruptor en el lanzador para ello.
Estamos trabajando activamente en ello y varios miembros de nuestro equipo ya lo están ejecutando en M1, pero aún requiere una rama de libv8, que es una dependencia transitiva que proviene de miniracer.
Gracias, Rafael.
Todos sois geniales.
Saludos,
Walker
Podrías probar el parámetro de argumentos de Docker que tiene el lanzador, podría funcionar.
¿Cómo va el rendimiento en desarrollo?
Rendimiento increíble para tareas de Rails de un solo núcleo, como la creación o visualización de temas. Aún es mucho más lento que cualquier oferta reciente de x86_64 en entornos multinúcleo o en cualquier operación que implique E/S de disco.
Entiendo. Gracias por esta información. Creo que el soporte de software para M1 tardará un tiempo en estar bien, pero el futuro se ve brillante.
Suena notorio, pero me hace un poco feliz que mi dispositivo comprado recientemente no quede obsoleto de la noche a la mañana. ![]()
Si eso no funciona, puedes usar la variable de entorno DOCKER_DEFAULT_PLATFORM. Actualmente tengo:
export DOCKER_DEFAULT_PLATFORM=linux/amd64
en mi perfil de zsh. Cuando uso Docker, casi siempre quiero que la arquitectura coincida con los sistemas de producción.
En comparación con las MacBooks de la generación anterior, es una gran mejora, aunque los problemas de rendimiento del sistema de archivos aún existen. Sin embargo, un escritorio Linux de gama alta seguirá superándolo.
Por ejemplo, puedo ejecutar bin/turbo_rspec en el núcleo en unos 2 minutos y 50 segundos (M1 MacBook Pro, con Discourse, Redis y Postgres ejecutándose de forma nativa). Los miembros del equipo en escritorios Linux de gama alta pueden hacerlo en aproximadamente 1 minuto.
¿Cuál es la hoja de ruta para que esto se habilite como stable?
Necesitamos que se lance un nuevo mini racer / v8 gem, aún no hay fecha estimada de lanzamiento; en este momento estamos probando versiones alfa.
@sam, ¿cómo van las pruebas? Estoy muy interesado en la versión compatible con M1.
No es un mal momento… hay gente (desarrolladores) por ahí que ni siquiera se acerca a esto…
Para el desarrollo de Discourse en M1, puedes encontrar información en el foro de Rails: Tips and tricks for developing Rails applications on Apple Silicon - rubyonrails-talk - Ruby on Rails Discussions. Algunos miembros del equipo lo usamos a diario y funciona bien.
Sin embargo, no recomendaría intentar ejecutar un servidor de Discourse en producción en M1.
Si es así, ¿por qué no lo lanzan a GA?
No recomendaría intentar ejecutar un servidor de Discourse en producción en M1.
¿Por qué no?
Es absolutamente precioso. No encuentro palabras para agradecerte por esto. Gran trabajo.
Además, ¿el MacBook Air M1 es lo suficientemente bueno para el desarrollo de Discourse?
Supongo que sí ![]()
Es absolutamente maravilloso. No encuentro las palabras para agradecerte esto. Gran trabajo.
Supongo que difundir la palabra sobre Discourse sería suficiente…
No te sigo… todo esto es público; puedes seguir esas instrucciones tú mismo y ponerlo en marcha.
Nuestras instrucciones de instalación para producción están pensadas para ejecutarse en un host Linux AMD64. Podrías lograr que funcione en otros sistemas operativos o arquitecturas utilizando los consejos de este tema, pero no hay garantías.
Absolutamente. Yo tengo el Pro, pero también tenemos personas que usan MacBook Air y Mac Mini con M1. En nuestras pruebas de rendimiento para desarrollo, parece haber muy poca diferencia de rendimiento entre ellos.
¿Dónde? ¿En el repositorio público oficial?
En el artículo que enlazo:
No hemos realizado ningún cambio en Discourse que esté en alguna rama de desarrollo privada, si es eso lo que te preguntas. Puedes hacer que Discourse funcione en un sistema M1 instalando las versiones ARM64 de las dependencias que utilizamos, lo cual se explica en la guía publicada anteriormente por David.
Todos nos gustaría que el repositorio oficial funcionara con el nuevo hardware, ¿verdad? Y no un código oculto en el armario.