Forum: Rails Germany Ruby-Version/Pfad in Rails setzen

Posted by Michael Kastner (Guest)
on 2009-05-30 18:04
(Received via mailing list)
Hallo,

ich habe mir gerade Ruby 1.9.1 per port auf den Mac gezogen und würde jetzt
gerne mal testweise eine Rails-Anwendung mit dieser Version laufen 
lassen. Gibt
es eine Möglichkeit explizit den Ruby-Pfad für die gewünschte Version in Rails
zu setzen?

Kann man sich in der Konsole eigentlich die verwendete Ruby-Version 
ausgeben zu
lassen?

Viele 
Grüße
Michael Kastner
Posted by Oliver Haag (Guest)
on 2009-05-31 13:17
(Received via mailing list)
Hallo Michael,
> Kann man sich in der Konsole eigentlich die verwendete Ruby-Version 
> ausgeben zu lassen?
Klar.
$ ruby -v
gibt die version aus, z.b.: ruby 1.8.6 (2007-03-13 patchlevel 0)
[i686-darwin8.10.1]
und
$ which ruby
zeigt an wo das verwendete ruby liegt, z.b: /usr/local/bin/ruby

>  Gibt es eine Möglichkeit explizit den Ruby-Pfad für die gewünschte 
> Version in Rails zu setzen?
Habe ich noch nicht gemacht. Bin aber vor ein paar Tagen über Multiruby
gestolpert.
http://blog.zenspider.com/zentest/2007/12/

Und google hat unter "multiruby" sogar noch diese Anleitung gefunden :-)
http://blog.robseaman.com/2008/12/20/switching-bet...

hope it helps
Oliver
Posted by Michael Kastner (Guest)
on 2009-05-31 13:27
(Received via mailing list)
Hallo Oliver,

sorry, da war ich mal wieder etwas unspezifisch. Mit Konsole meinte ich 
die
Rails-Konsole(script/console).

Multiruby habe ich auch schon gesehen, aber ich hatte gehofft, daß es 
vielleicht
noch einen einfacheren weg gibt.

Viele 
Grüße
Michael

Oliver Haag schrieb:
Posted by Roman Sladeczek (wowo08)
on 2009-05-31 13:50
(Received via mailing list)
... die Rails-Konsole(script/console). ...

RUBY_VERSION

Gruss,
Roman


Am 31.05.2009 um 13:26 schrieb Michael Kastner:

> Oliver Haag schrieb:
>>> Gibt es eine Möglichkeit explizit den Ruby-Pfad für die gewünschte  
>> 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

Roman Sladeczek
Consulting & IT
Voßstr. 4
81543 München
TEL.: +49 89 54075045
Mobil: +49 163 7348177
Email: roman@sladeczek.de
Posted by Ralf Graf (Guest)
on 2009-05-31 13:50
(Received via mailing list)
Hallo Michael,

Am 31.05.2009 um 13:26 schrieb Michael Kastner:
> sorry, da war ich mal wieder etwas unspezifisch. Mit Konsole meinte  
> ich die Rails-Konsole(script/console).
>

du tippst RUBY_VERSION ein (so, in Großbuchstaben).

> Multiruby habe ich auch schon gesehen, aber ich hatte gehofft, daß  
> es vielleicht noch einen einfacheren weg gibt.
>

Rails holt sich sein Ruby ja von dem Ort, wo es in der
Umgebungsvariable PATH zuerst fündig wird. Mit der entsprechenden
Reihenfolge kann man da steuern, wo zuerst geguckt wird, also so zum
Beispiel:

export PATH="/mein/tolles/eigenes/rubykompilat/bin:"$PATH

Mit "env ruby --version" kannst Du dann checken, welche Ruby-Version
das nächste script/server nun benutzen 
würde.
Was dabei zu beachten ist: gem und die Gems sind an die Ruby-Version
gebunden, man müsste also dafür sorgen, dass alles notwendige in jeder
Ruby-Umgebung vorhanden ist.

Viele 
GrüßeRalf
Posted by Michael Kastner (Guest)
on 2009-05-31 14:07
(Received via mailing list)
Hallo Ralf,
hallo Roman,

danke für die Hilfe! RUBY_VERSION in der Konsole kannte ich noch nicht. Das 
mit
dem Pfad weiß ich schon, aber ich hatte auf etwas einfacheres gehofft. 
Eher
einen einen Trigger oder switch z.B. für die Konsole, ähnlich wie für die
Ablaufumgebung. Da kann ich ja einfach "script/console production" 
eingeben,
wenn ich in die Konsole in der Produktionsumgebung ablaufen lassen möchte.

So etwas in der Art für die Ruby-Version wäre nicht schlecht. Die Gems habe ich
schon schon alle in der entsprechenden Version - auf dem Mac und auf 
FreeBSD.
Das geht alles. Das einzige Problem ist, daß ich sowohl Anwendungen unter 
Ruby
1.8.6 als auch unter 1.9.1 entwickeln/warten möchte.

Unter Java kann ich im Tomcat z.B. explizit setzen, welche Java-Version
verwendet werden soll. So etwas würde mir im Moment unter Rails im Moment
ziemlich weiterhelfen.

Unter Phusion kann man zwar auch explizit die Ruby-Version setzen, aber 
nur
global und nicht für einzelne Anwendungen.

Viele 
Grüße
Michael Kastner

Ralf Graf schrieb:
Posted by Ralf Graf (Guest)
on 2009-05-31 21:05
(Received via mailing list)
Hallo Michael,

Am 31.05.2009 um 14:07 schrieb Michael Kastner:
> Eher einen einen Trigger oder switch z.B. für die Konsole, ähnlich  
> wie für die Ablaufumgebung. Da kann ich ja einfach "script/console  
> production" eingeben, wenn ich in die Konsole in der  
> Produktionsumgebung ablaufen lassen möchte.
>

man könnte noch (zumindest während der Entwicklung) explizit die Ruby-
Version mitgeben, also nen Alias anlegen, bspw.  "ruby19", und dann
mit "ruby19 script/server" explizit starten.

Passenger ist natürlich ein Problem, da wird es wohl außer mehreren
Apaches mit eigener Passenger-Installation keine Lösung für ein Multi-
Ruby-Setup geben.

Für Mongrels, die mit unterschiedlichen Ruby-Setups laufen, habe ich
einfach verschiedene Linux-User angelegt die den passenden PATH
gesetzt haben und die Anwendung dann ausführen.

Viele 
GrüßeRalf
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.