Mailcatcher Gem Installationsproblem auf MacOS Catalina und seine Lösung

Ich hatte dieses Problem vor einigen Wochen und konnte es wie folgt lösen.
Das mailcatcher-Gem hängt beim Verfassen dieses Textes von thin-1.5.1 ab, das nicht korrekt installiert wird.

Falls Sie auf das Problem stoßen, deinstallieren Sie zunächst das thin-Gem. Führen Sie dann folgende Befehle aus:

gem install thin -v 1.5.1 -- --with-cflags="-Wno-error=implicit-function-declaration"
gem install mailcatcher

Danach sollte alles funktionieren.

Hier ist der StackOverflow-Link, dem ich mit einigen Anpassungen gefolgt bin.

Discourse ist tatsächlich sehr daran interessiert, bis zu 3.000 US-Dollar für eine Neuimplementierung oder einen Fork von MailCatcher zu finanzieren, der Event Machine verwirft und durch @ioquatixs async sowie verwandte Bibliotheken ersetzt. (Und dies sollte auch mit Puma statt Thin funktionieren.)

Derzeit hängt MailCatcher an einer veralteten Version von Event Machine fest, und die Community hat den Großteil des Einsatzes von Event Machine bereits aufgegeben.

Wenn Sie oder jemand anderes Interesse hat, kontaktieren Sie mich bitte per Privatnachricht.

Das Endergebnis der Arbeit wäre:

  • Das MailCatcher-Gem entfernen
  • Ein neues Gem zu Discourse hinzufügen
  • Alles funktioniert entwicklerseitig exakt so wie zuvor

Bevor Sie das Gem forken, empfehle ich zudem, einen Pull Request an MailCatcher einzureichen, um Event Machine zu entfernen, und dies mit dem Maintainer zu besprechen.

Hallo! Ich bin der Betreuer von Mailcatcher. Ich habe es schon seit geraumer Zeit im Auge, auf asynchrone Verarbeitung umzusteigen, da es mehrere systemische Probleme gibt, die in EventMachine begründet sind und die das Gem zurückhalten, welche Async lösen würde. Es gibt sogar einige Async-Sandbox-Branches. Aber es hat in seiner aktuellen Form auch gut funktioniert, sodass sich eine Neuschreibung bisher nicht gelohnt hat. Allerdings werden Änderungen am Betriebssystem und in Ruby zu einem zwingenden Faktor, und falls jemand Zeit und Fähigkeiten hat, das Refactoring auf Async anzugehen, würde ich eine solche Bemühung unterstützen. Ich freue mich auf eine Diskussion per E-Mail, Privatnachricht oder auf GitHub.

Hallo Samuel,

Bei einigen anderen Projekten haben wir eine „GitHub“-Förderung eingerichtet. In der Vergangenheit hat GitHub Spenden bis zu 5.000 $ matched. GitHub launches Sponsors, lets you pay your favorite open-source contributors | TechCrunch Ich bin mir nicht sicher, ob das immer noch so ist.

Unabhängig davon könnten wir hier für die nächsten drei Monate eine Spende von 1.000 $ einrichten.

Denkst du, das wäre genug, um die Arbeit voranzutreiben? Hast du Zeit, daran zu arbeiten?