Me encontré con este problema hace unas semanas y pude resolverlo de la siguiente manera.
El gem mailcatcher, al momento de escribir esto, depende de thin-1.5.1, que no se instala correctamente.
Ahora, si te enfrentas al problema, desinstala el gem thin. Luego,
haz
De hecho, Discourse está muy dispuesto a financiar hasta 3000 dólares para una reescritura o bifurcación de Mailcatcher que elimine Event Machine y lo reemplace por @ioquatixasync y su ecosistema. (Y permitir que funcione, por ejemplo, con Puma en lugar de Thin).
En este momento, Mailcatcher está atascado en una versión antigua de Event Machine, y la comunidad en su mayoría ha dejado de usarlo.
Si tú o alguien más está interesado, contáctame por mensaje privado.
El resultado final del trabajo será:
Eliminar el gem de Mailcatcher
Agregar un nuevo gem a Discourse
Todo funcionará exactamente igual en desarrollo como antes
Además, antes de bifurcar el gem, recomendaría enviar una PR a Mailcatcher para eliminar Event Machine y discutirlo con el mantenedor.
¡Hola! Soy el mantenedor de MailCatcher. He estado pensando en migrar a async desde hace bastante tiempo, ya que hay varios problemas sistémicos arraigados en EventMachine que están frenando el gem, y async los resolvería. Incluso hay algunas ramas de prueba con async. Sin embargo, también ha funcionado lo suficientemente bien en su forma actual, por lo que nunca ha valido la pena invertir en una reescritura. Los cambios en el sistema operativo y en Ruby se están convirtiendo en un factor determinante, así que si alguien tiene tiempo y capacidad para abordar la refactorización hacia async, apoyaría ese esfuerzo. Estoy encantado de hablar por correo electrónico, mensaje privado o en GitHub.