Dieser Artikel erschien ursprünglich in einem kurzlebigen Rails-Weblog mit dem schönen Namen railssprech, das in den Jahren 2009 und 2010 aktiv war. Der Text ist mittlerweile wahrscheinlich hoffnungslos veraltet und wurde hier archiviert.

RedCloth, Rubygems und die »CamelCase-Falle«

Manchmal leben gem-Maintainer ihre Kreativität am Namen ihres digitalen Kleinods aus. So heißt das Rubygem für RedCloth eben »RedCloth«, in CamelCase. Unter bestimmten Umständen in bestimmten Ruby-Installationen (keine Ahnung, wann exakt) aber legt Rubygem es eben nicht unter dem CamelCase-Namen ab, sondern in Kleinbuchstaben. Das Problem dabei: Das Gem funktioniert nicht, man rauft sich die Haare weil es nicht läuft, obwohl man doch das richtige Gem installiert hat!

Lösung: Man lege einen Symlink mit der korrekten Schreibweise an, wenn sich in /usr/lib/ruby/gems/1.8/gems/RedCloth-3.0.3/lib nur ein »redcloth.rb« statt des gewünschten »RedCloth.rb« befindet:

cd /usr/lib/ruby/gems/1.8/gems/RedCloth-3.0.3/lib
ln -s redcloth.rb RedCloth.rb

Die einzig richtig nutzbare RedCloth-Version ist übrigens 3.0.3. Wenn man sich nicht in die Geheimnisse des anders funktionierenden RedCloth 4 einarbeiten möchte, sollte man diese installieren:

gem install RedCloth -v 3.0.3

Lieber RedCloth-gem-Maintainer, wie wäre es damit, die Kreativität im Ruby-Code auszutoben und den Namen des Gem ganz schnöde in Kleinbuchstaben zu halten? ;)