• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Via MacPorts „neues Ruby“ installiert - aber altes wird aufgerufen. 4 Fragen

mapete

Gloster
Registriert
14.02.09
Beiträge
61
System Mac OS X 10.4.11
Rechner: iBook G4

Hallo ins Forum,

ich habe mir via MacPorts Ruby 1.87 installiert. Das war auch erfolgreich:
port installed
ruby @1.8.7-p249_0+darwin+thread_hooks (active)

Wenn ich jetzt aber ruby -v aufrufe:
ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]

Soweit klar, denn MacPorts installiert ja in einen anderen Pfad (1. Frage: ist das eigentlich /opt/local/bin ?) und löscht das alte Ruby nicht.
2. Frage: Wie mache ich jetzt aber das neue Ruby zum Standardruby, dass bei Eingabe "ruby" im Terminal aufgerufen wird?
In der alten (Ruby 1.82) Systeminstallation war Rubygems nicht installiert:
gem -v
-bash: gem: command not found

Ok, nachinstalliert via MacPorts, läuft:
gem -v
1.3.5

3. Frage: Was (ich habe Angst es auszuprobieren) passiert jetzt, wenn ich mit gem ein Package installiere? Wird das ins "alte" Standardruby, oder ins neue MacPorts Ruby installiert?

4. Frage: Wenn jetzt rubyskripte.rb auf das neue Ruby zugreifen sollen, muß ihr SheBang doch geändert werden auf den Pfad (Frage 1) zum neuen Ruby. Reicht das, oder muss man noch anderes bedenken?

Sorry, für die dummen Fragen und Dank für Eure Hilfe.

Martin
 

boecko

Gala
Registriert
09.12.06
Beiträge
51
das geht durch die Pfadangabe..

mach mal:
Code:
echo $PATH
da sollte /opt/local/bin vor /usr/bin stehen

Um auf nummer sicher zu gehen kannst du in deiner ~/.bashrc folgendes eintragen:
Code:
PATH=/opt/local/bin:${PATH}
export PATH

n8

boecko
 
  • Like
Reaktionen: awk

Irgendein Held

Oberösterreichischer Brünerling
Registriert
17.06.07
Beiträge
714
[...]1. Frage: ist das eigentlich /opt/local/bin ?[...]
Das Binary, japp.

2. Frage: Wie mache ich jetzt aber das neue Ruby zum Standardruby, dass bei Eingabe "ruby" im Terminal aufgerufen wird?
Path-Variable setzen, wie mein Vorposter es beschrieben hat. Hast du den Installer fuer MacPorts benutzt, dann brauchst du das nicht; da passiert da automatisch. Wenn du es via Source selbst gebacken hast, dann hast du sie entsprechend der Doku bereits selbst gesetzt.

Mach mal ein Update auf 1.3.6. ;) (gem update --system)

3. Frage: Was (ich habe Angst es auszuprobieren) passiert jetzt, wenn ich mit gem ein Package installiere? Wird das ins "alte" Standardruby, oder ins neue MacPorts Ruby installiert?
Wenn du deinen Path richtig gesetzt hast, dann sollte es in die Ruby-Lib in /opt/local/lib/Ruby/... wandern.

4. Frage: Wenn jetzt rubyskripte.rb auf das neue Ruby zugreifen sollen, muß ihr SheBang doch geändert werden auf den Pfad (Frage 1) zum neuen Ruby. Reicht das, oder muss man noch anderes bedenken?
Wenn in deiner Shebang ein vollstaendiger Pfad zum Ruby-Binary steckt, dann ist das genutzte Binary natuerlich das Addressierte.
Generell besser und portierbarer nach meiner Erfahrung ist folgende Shebang:
Code:
#!/usr/bin/env ruby
Erste Anlaufstelle: man env

Sorry, für die dummen Fragen und Dank für Eure Hilfe.
Passt schon.. ;) Viel lesen hilft in dem Fall viel. :)
 
  • Like
Reaktionen: awk