Hallo group
Am 21.07.2010 um 17:36 schrieb Thomas Baustert:

> 
> Hi Magmor,
> 
> ich vermute, bei dir ist Einiges mit der Installation Ruby und Gems 
> durcheinander.
> Daher die Probleme.
> 
> Ich empfehle dir:
> 
> a) wie beschrieben, rvm zu nutzen


Habe rvm wie auf rvm-website beschrieben (in ~/.rvm) installiert.
Die Installationen von rubies (ruby-1.8.7-head, ruby-1.8.7-p299 scheiterte aber 
an make errors. Diese sagen mir nichts:

less make.error.log (Anmerkung: das war noch unter 10.5.8)
[2010-07-23 19:23:13] make 
eval.c: In function ‘rb_eval_string_wrap’:
eval.c:1744: warning: assignment discards qualifiers from pointer target type
eval.c: In function ‘rb_eval_cmd’:
eval.c:1885: warning: assignment discards qualifiers from pointer target type
.
.
.

readline.c: In function ‘filename_completion_proc_call’:
readline.c:703: error: ‘filename_completion_function’ undeclared (first use in 
this function)
readline.c:703: error: (Each undeclared identifier is reported only once
readline.c:703: error: for each function it appears in.)
readline.c:703: warning: assignment makes pointer from integer without a cast
readline.c: In function ‘username_completion_proc_call’:
readline.c:730: error: ‘username_completion_function’ undeclared (first use in 
this function)
readline.c:730: warning: assignment makes pointer from integer without a cast
make[1]: *** [readline.o] Error 1
make: *** [all] Error 1




Ein Update von MacOS 10.5.8 auf 10.6.4 und ein Update auf die aktuelle 
Xcode-Developer-Umgebung 3.2.2 (2148) lässt auch ein make der rubysource 
mittels rvm nicht durchmaschieren. Auch hier wieder make.errors:

less make.error.log (Anmerkung: jetzt unter 10.6.4)
[2010-07-25 14:24:35] make 
eval.c: In function 'rb_eval_string_wrap':
eval.c:1744: warning: assignment discards qualifiers from pointer target type
eval.c: In function 'rb_eval_cmd':
eval.c:1885: warning: assignment discards qualifiers from pointer target type
.
.
.
ossl_x509revoked.c: In function 'ossl_x509revoked_new':
ossl_x509revoked.c:48: warning: passing argument 2 of 'ASN1_dup' from 
incompatible pointer type
ossl_x509revoked.c: In function 'DupX509RevokedPtr':
ossl_x509revoked.c:64: warning: passing argument 2 of 'ASN1_dup' from 
incompatible pointer type
readline.c: In function 'username_completion_proc_call':
readline.c:730: error: 'username_completion_function' undeclared (first use in 
this function)
readline.c:730: error: (Each undeclared identifier is reported only once
readline.c:730: error: for each function it appears in.)
make[1]: *** [readline.o] Error 1
make: *** [all] Error 1


Natürlich will ich lieber wie von Euch vorgeschlagen rvm verwenden.
--> Woran kann es liegen, dass ich die rubies, die mir rvm (analog zur 
anleitung auf rvm-website mit 'rvm install 1.8.7-299') installieren will, nicht 
durch den make-prozess laufen können?

> b) aufzuräumen und erstmal Ruby und RubyGems von Hand zu installieren und 
> nicht die bei Mac mitgelieferte Version zu verwenden.
> Anleitung gibt es dazu im Netz, u.a. 
> http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard
> Dabei muss du ggf. die URL und Versionen korrigieren damit du die aktuellen 
> Versionen verwendest
> (also nicht ruby-1.8.7-p174.tar.gz sondern ruby-1.8.7-p299.tar.gz und auch 
> rubygems-1.3.7.tgz usw.) 
> 

> Gems liegen dann unter /usr/local/lib/ruby/gems/1.8 und ruby unter 
> /usr/local/bin/ruby.
> 
> Danach immer "sudo gem install <gem>", wodurch gems in 
> /usr/local/lib/ruby/gems/1.8 landen. 
> 

Auf meinem MacOs 10.5.8 waren drei mal das programm gem installiert:
1) /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/gem (nicht 
wissentlich von mir)
2) /Library/Ruby/Gems/1.8/Library:...:gems/rubygems-update-1.3.7/bin/gem (nicht 
wissentlich von mir)
3) /usr/local/bin/gem (von mir) installiert.

Alle 3 gem mit 'gem list' zeigten, dass auch ein altes rails 1.2.6 installiert 
sei.
Dieses konnte ich aber in keinem der drei gem deinstallieren ('sudo gem 
uninstall rails-1.2.6'), laut jeweiligem gem gibt es dieses diese rails version 
nicht. beim auf 'sudo gem uninstall rails' folgenden dialog wird mir die 
1.2.6er version nicht zur auswahl angeboten.

--> Welches Programm/Mechanismus (und wie) verwaltet die gems, welche auf dem 
MacOS schon mitgeliefert werden?
--> Warum werden mit '/egal/welches/gem list' rails versionen, angezeigt, 
welche ich mit 'sudo /egal/welches/gem uninstall' nihct deinstallieren kann?


Daraufhin wollte ich herausfinden, wie rubygems seine gems verwaltet und fand 
mit google den Hinweis es gäbe ein index-file 'source_cache'.
Dieses ist aber auf meinem MacOS 10.5.8 und danach auch unter 10.6.4 nicht 
enthalten.
Dann unter 10.6.4 habe ich die Brachialmethode angewandt und die beiden Ordner 
umbenannt:
1) /System/Library/Frameworks/Ruby.framework/  --> 
/System/Library/Frameworks/old_Ruby.framework/
2) /Library/Ruby/ --> /Library/old_Ruby/
Nun arbeite ich nur noch mit /usr/local/bin/gem.

Jetzt wird mit 'gem list rails' auch keine anderen gems mehr angezeigt, als 
diese, welche ich mittels /usr/local/bin/gem installiert habe.
Bin gespannt, ob dies und welche Auswirkungen auf andere Anwendungen hat.

##########

Gruß Mike
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an