Enfrentei esse problema algumas semanas atrás e consegui resolvê-lo da seguinte maneira.
O gem mailcatcher, ao momento de escrever isto, depende do thin-1.5.1, que não é instalado corretamente.
Agora, se você enfrentar o problema, desinstale o gem thin. Em seguida, execute:
O Discourse está realmente disposto a financiar até US$ 3.000 para uma reescrita ou fork do mailcatcher que substitua o Event Machine pelo @ioquatixasync e seus pacotes relacionados (e permita que funcione com o Puma, em vez do Thin).
No momento, o mailcatcher está preso a uma versão antiga do Event Machine, e a comunidade em geral já abandonou o uso dessa biblioteca.
Se você ou alguém estiver interessado, entre em contato comigo por meio de uma mensagem privada.
O resultado final do trabalho será:
Remover o gem mailcatcher
Adicionar um novo gem ao Discourse
Tudo funcionará exatamente da mesma forma, do ponto de vista do desenvolvimento, como antes
Além disso, antes de fazer o fork do gem, recomendo abrir um PR no repositório do mailcatcher para remover o Event Machine e discutir isso com o mantenedor.
Oi! Sou o mantenedor do mailcatcher. Tenho acompanhado a possibilidade de migrar para async há bastante tempo, pois existem vários problemas sistêmicos ligados ao eventmachine que estão impedindo o avanço do gem, e o async resolveria esses problemas. Até existem algumas branches de sandbox com async. No entanto, a versão atual tem funcionado bem o suficiente, então nunca valeu a pena investir em uma reescrita. Mudanças no sistema operacional e no Ruby estão se tornando um fator determinante, porém, e, se alguém tiver tempo e capacidade para realizar a refatoração para async, eu apoiaria esse esforço. Fico à disposição para discutir por e-mail, mensagem direta ou no GitHub.