Ich hoffe, dass sich die Aktualität dieses Artikels bald erledigt: kurz gefasst, die aktuelle gem-Version von Thin basiert auf rack 1.0.0, die aktuelle integrity-Version auf sinatra 1.9.1.1, welches selbst rack 0.9.x benötigt. Wenn man rack oder Thin oder beide updated, entstehen ein paar Probleme.
Dies ist – soweit ich es jetzt noch zusammenbekomme – wie ich auf meinem Ubuntu-Testserver eine (vermutlich) lauffähige Version zusammengefrickelt habe:
Eine sinatra-Version von SR (s.u.) clonen
Von http://github.com/sr/sinatra/tree/layout-local das git://github.com/sr/sinatra.git clonen und den branch layout-local auschecken:
> git checkout -b layout-local > vi lib/sinatra/base.rb
dort musste ich für mein REE-1.8.6… die Zeile #46:
inject(0) { |len, part| len + part.bytesize }.to_s
gegen
inject(0) { |len, part| len + part.length }.to_s
ersetzen. Das ist natürlich nicht das Gleiche …
Anschließend noch ein
> rake install
Die letzte integrity-Version clonen
Von http://github.com/integrity/integrity/tree/master den git://github.com/integrity/integrity.git clonen:
> git clone git://github.com/integrity/integrity.git > cd integrity > vi integrity.gemspec # 0.9.1.1 > 0.9.1.3 > gem uninstall integrity > gem build integrity.gemspec > gem install integrity-0.1.10.gem
In der .gemspec muss die Abhängigkeit auf die Version 0.9.1.3 gesetzt werden, damit integrity auch die aktuelle sinatra-Version aufruft.