Hallo Frank,
also wenn ich tippen müsste, so würde ich schätzen, dass bei
der Installation etwas schief gelaufen ist, oder du aber rvm
mit sudo verwendest. Anderenfalls, sollten eigentlich
keinerlei Probleme auftreten, da rvm alle ruby spezifischen
files / folders komplett verwaltet. Soll heißen, wenn du dein
ruby wechselst, passt er alle Pfade entsprechend an, egal ob
es nur das gem Verzeichnis ist oder aber auch native
extensions. Du kannst das ganze selber überprüfen indem zu
einem ruby wechselst und dann mit "rvm info" Dir ein paar
Angaben zu der verwendeten Version anzeigen lässt. Dort siehst
du auch wo was denn genau liegt. Im Prinzip liegt alles unter
~/.rvm/rubies
Ach ja, du musst eventuell noch mit den Gemsets aufpassen, da
du für jedes ruby mehrere Gemsets verwalten kannst. Sehr
sinnvoll wenn du mehr als eine Anwendung programmierst.
Hoffe das hilft Dir,
Max
On 26.05.2011, at 07:19, Stefan Frank wrote:
Hi Liste,
in der Liste doofer Ideen, die man nachmittags um 5 noch
anfassen kann, rangiert ein Umstieg von mri 1.8.7 auf 1.9.2
sehr weit oben. Man lernt dabei vor allem eine Menge über rvm,
aber irgendwie habe ich das Gefühl, dass ich da ein paar
Sachen noch nicht verstanden habe, vielleicht kann mich da ja
jemand erleuchten:
- 1.9.2 ist ein Alias für alle möglichen 1.9.2-Versionen: Ich
hatte in meiner rvm-Installation noch einige frühe
Installationen, die zusammen mit rails noch segfaults
produzierten. Weil das so ist, greift er sich beim rvm install
1.9.2 auch nicht eine aktuelle Version, sondern eine der
Versionen aus ~/.rvm/src - nur für den Fall, dass sich noch
jemand fragt, warum die segfaults immer noch nicht weg sind.
Also am besten immer die volle Version spezifizieren, wenn man
einen Interpreter installiert oder noch besser, das
~/.rvm/src-Verzeichnis regelmäßig aufräumen ...
- nachdem also die richtige 1.9.2-Version (ich benutze
momentan ruby-1.9.2-p180) installiert ist, läuft die Anwendung
aber immer noch nicht. Keine segfaults mehr, aber dafür das
ebenso wenig aussagekräftige:
[BUG] cross-thread violation on rb_gc()
(null)
Abort trap
Ein bisschen googlen bringt hier gems mit native Extensions
als Ursache zum Vorschein: Wenn die bereits gegen einen
anderen Interpreter kompiliert wurden, in diesem Fall also
gegen 1.8.7, dann gibt es diese Fehlermeldung. Der Spaß war
dann, die entsprechenden gems zu finden, zu uninstall'en und
neu zu installieren. Dabei werden die native Extensions neu
gebaut, diesmal dann gegen 1.9.2.
Daraus ergeben sich mir einige Fragezeichen:
- verschiedene Intepreter mit rvm ja, aber wechseln zwischen
1.9.2 und 1.8.7 geht nicht? Eigentlich hatte ich 1.9.2 nur
ausprobieren wollen, aber jetzt sieht es so aus, als wäre mir
der Rückweg abgeschnitten: Es läuft jetzt unter 1.9.2, aber
die cross-thread violation kriege ich jetzt unter 1.8.7...
- gibt es eine Möglichkeit herauszufinden, welche gems native
Extensions haben? In diesem Fall habe ich es mit
Trial-and-Error und informiertem Raten versucht (hint: es sind
mehr, als man meint und manchmal auch andere, als man
meint...)Neben den üblichen Verdächtigen wie mysql, rmagick,
bson_ext, nokogiri usw. war es am Ende json, das noch eine
native-extension hatte und neu installiert werden musste.
bcrypt-ruby hat keine native extension, wollte aber trotzdem
neu installiert werden - kein sehr wissenschaftliches
Verfahren...
- wirklich verstanden habe ich die Struktur von rvm noch immer
nicht ganz: unter ~/.rvm/gems/ruby-1.9.2-p180/gems finden sich
jetzt die gems für 1.9.2 - keine Links, sondern echte Kopien,
soweit ich das sehe. Aber die native Extensions teilen sich
trotzdem alle Interpreter?! Oder nur die mri's oder sind auch
jruby und macruby davon betroffen? Dann ist so ein bisschen
der Witz von rvm weg, aber vielleicht kann das ja noch jemand
aufklären...
Grüße
Stefan
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug