wake-up-neo.com

Wie kann ich Ruby 1.9.3 in Mac OS X Lion installieren?

Ich versuche, Ruby 1.9.3 zu installieren, habe aber Probleme. Ich habe RVM installiert und dann Folgendes eingegeben:

rvm install 1.9.3

Die Ausgabe sagt:

ERROR: Error running ' ./configure....

Das Protokoll sagt:

configure: WARNING: unrecognized options: --with-libyaml-dir 
checking build system type... x86_64-Apple-darwin11.2.0 
checking Host system type... x86_64-Apple-darwin11.2.0 
checking target system type...x86_64-Apple-darwin11.2.0 
checking whether the C compiler works... no
configure: error: in `/Users/myuser/.rvm/src/Ruby-1.9.3-p0':
configure: error: C compiler cannot create executables See `config.log' for more details

Ich habe den neuen XCode aus dem App Store heruntergeladen und installiert.

56
Klian

Versuchen Sie, den Clang-Compiler anstelle des Standardcompilers zu verwenden:

rvm install 1.9.3 --with-gcc=clang
118
zzaman

RVM benötigt gcc-4.2 um installieren zu können Ruby 1.9.3. Leider enthält Lion nicht mehr gcc-4-2, nur die llvm-Version:

lrwxr-xr-x  1 root  wheel  12 15 feb 17:21 /usr/bin/gcc -> llvm-gcc-4.2

Wenn Sie Lion haben, aber ein Upgrade von Snow Leopard durchgeführt haben, ist es wahrscheinlich, dass Sie noch gcc-4.2 haben. Wenn Sie eine brandneue Installation von Lion haben, sollten Sie gcc-4.2 herunterladen. Ich empfehle dieses Paket herunterzuladen.

https://github.com/kennethreitz/osx-gcc-installer

Überprüfen Sie, ob Sie gcc-4.2 jetzt installiert haben:

-rwxr-xr-x  1 root  wheel  113024 16 may  2011 /usr/bin/gcc-4.2
lrwxr-xr-x  1 root  wheel      12 15 feb 17:21 /usr/bin/gcc -> llvm-gcc-4.2

Jetzt können Sie Ruby 1.9.3 wie gewohnt installieren:

rvm install 1.9.3
rvm use 1.9.3 --default
15
Marc M

Wenn Sie lediglich die neueste Version von Ruby) installieren und auf dem neuesten Stand halten möchten (anstatt zwischen verschiedenen Ruby-Versionen zu wechseln), können Sie Ruby) installieren via homebrew :

brew install Ruby
13
jupp0r

Versuchen Sie dies zuerst:

rvm get latest

Das ist, woran ich arbeite:

  rvm:
    version:      "rvm 1.9.2 by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]"

  Ruby:
    interpreter:  "Ruby"
    version:      "1.9.3p0"
    date:         "2011-10-30"
    platform:     "x86_64-darwin11.2.0"
    patchlevel:   "2011-10-30 revision 33570"
    full_version: "Ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]"
6
Sean Vikoren

Tatsächlich, Ruby-1.9.3-p125 funktioniert jetzt mit gcc-llvm. Die aktuellen stabilen/neuesten Versionen von rvm sind (noch) nicht verfügbar. Aber das war nur rvm vorsichtig und es gibt jetzt eine Lösung für diese Problemumgehung im Hauptzweig von rvm.

Aktualisieren Sie einfach rvm auf den Hauptzweig und installieren/aktualisieren Sie Ruby:

GT-MBP:~ gthiruva$ rvm upgrade Ruby-1.9.3-p0 1.9.3
Are you sure you wish to upgrade from Ruby-1.9.3-p0 to     Ruby-1.9.3-p125? (Y/n): Y
Installing new Ruby ruby-1.9.3-p125
Fetching yaml-0.1.4.tar.gz to /Users/gthiruva/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/gthiruva/.rvm/src
Configuring yaml in /Users/gthiruva/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/gthiruva/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/gthiruva/.rvm/usr
The autodetected CC(/usr/bin/gcc-4.2) is LLVM based, it is not yet fully supported by
Ruby and gems, please read `rvm requirements`, and set CC=/path/to/gcc .
Unable to install Ruby ruby-1.9.3-p125.         Please install it manually to continue.
GT-MBP:~ gthiruva$ rvm get head
Original installed RVM version:

rvm 1.10.2 by Wayne E. Seguin <[email protected]>, Michal Papis
<[email protected]>`enter code here` [https://rvm.beginrescueend.com/]
...
RVM reloaded!
GT-MBP:~ gthiruva$ rvm reload
RVM reloaded!
GT-MBP:~ gthiruva$ exec bash

rvm 1.10.2 by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> 
[https://rvm.beginrescueend.com/]

GT-MBP:~ gthiruva$ rvm upgrade Ruby-1.9.3-p0 1.9.3
Are you sure you wish to upgrade from Ruby-1.9.3-p0 to     Ruby-1.9.3-p125? (Y/n): Y
Installing new Ruby ruby-1.9.3-p125
...
Successfully migrated Ruby-1.9.3-p0 to Ruby-1.9.3-p125
Upgrade complete!
6
George
  1. Öffne Xcode
  2. Öffnen Sie die Xcode-Einstellungen
  3. Öffnen Sie die Registerkarte Downloads
  4. Aktivieren Sie Befehlszeilentools

Xcode screenshot

6
sparkle
  1. Deinstallieren/entfernen Sie alle Spuren von manuell installierten alten Ruby) Versionen und Extras (sqlite3, libxml2-x.x.x, libxslt-x.x.x) von Ihrem/usr/local/oder wo immer Sie sie installiert haben.
  2. Laden und installieren Sie JewlryBox http://unfiniti.com/software/mac/jewelrybox , eine RVM-GUI-Oberfläche zum Verwalten Ihrer Rubine und Edelsteine.
  3. Klicken Sie in JewlryBox auf "Ruby hinzufügen" und wählen Sie die Version von Ruby), die Sie installieren möchten (ich habe 64-Bit ausgewählt, "Freigegeben" aktiviert und die Option "Clang verwenden" nicht aktiviert/aktiviert).

Arbeitete mit OS X Lion 10.7.3 und Xcode 4.3 Command Line Tools installiert.

3
ALA

Geben Sie folgende Befehle ein

  • ~ $: source ~/.rvm/scripts/rvm
  • ~ $: Typ rvm | head -n 1

    rvm ist eine Funktion

  • ~ $: vi ~/.bash_profile füge diese Zeile in bash_profile "source ~/.rvm/scripts/rvm" ein

  • ~ $: rvm install 1.9.3

  • ~ $: rvm use 1.9.3
2

Clang hat für mich keine Rubine geschnitten, und die Installation von Rubinen durch rvm ist fehlgeschlagen, egal was mit Einzelbenutzer-rvm passiert. Sudo in Kombination mit einigen Erlaubnis- und $ PATH-Änderungen an meinem Benutzer hat es möglich gemacht. Folgendes habe ich getan:

Sudo bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )</pre>
Sudo rvm pkg install readline
Sudo rvm install 1.9.3

Bei der Installation von rvm vom Root-Benutzer wird ein Shell-Skript unter/usr/local/rvm/scripts/rvm erstellt. Der Code wurde aus dieser ausführbaren Datei abgerufen und in meinem .bash_profile abgelegt, sodass .bash_profile wie folgt gespeichert wurde:

[ -s "/usr/local/rvm/scripts/rvm" ]] ;
    true ${rvm_path:="/usr/local/rvm"}
    source "/usr/local/rvm/scripts/rvm"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Die Benutzergruppe RVM wurde während der Installation des Rootbenutzers rvm erstellt. Das letzte, was ich getan habe, war, zu meinen Einstellungen in OSX 10.7 zu wechseln und meinen Benutzer der neuen rvm-Gruppe hinzuzufügen. Schließlich lud ich mein Terminal neu und konnte 1.9.3 über rvm single user installieren.

0
Bent Cardan

Mit rvm, Ruby 1.9.3 und dem Versuch, gcc zu verwenden, konnte ich nicht Ruby sauber bauen mit yaml Obwohl es eine Vielzahl von Hacks gibt, die die Kompilierung von Yaml zum Laufen bringen, schien keiner von ihnen mit rvm zu funktionieren. Ich habe spät in der Nacht eine Fehlerbehebung durchgeführt und meine Fehler nicht beibehalten, also arbeite ich hier aus dem Gedächtnis Ich würde mich freuen, wenn jemand anderes mit einer sauberen Umgebung diese Schritte testen könnte.

Verwendung der --with-gcc=clang Lösung erzeugte den leicht berüchtigten Fehler über den Yaml-Parser:

It seems your Ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your Ruby. 

Da ich yaml für das benötige, was ich tun werde, und libyaml gut kompiliert wurde, wenn es nicht von rvm ausgeführt wird, und ich es sogar in/usr/lib installiert habe, nachdem ich es von Hand erstellt habe, kann ich nicht verstehen, warum rvm nicht kann finde und benutze diese Version von libyaml nicht, auch nicht mit dem --shared-libs Möglichkeit.

Mit CC=/usr/bin/gcc rvm install 1.9.3 verursachte Fehler. In der Datei .rvm/log/Ruby-1.9.3-p385/configure.log habe ich Folgendes gefunden:

configure: error: C compiler cannot create executables
See `config.log' for more details

Dieser Fehler war auch in .rvm/log/libyaml-0.14/configure.log vorhanden.

Die Lösung für mich bestand darin, den Befehl rvm mit Sudo auszuführen. Wenn Sie eine Kompilierung als Root ausführen, scheint dies die Ablehnung der Benutzer durch die Apple GCC Toolchain zu beseitigen.

So Sudo CC=/usr/bin/gcc rvm install 1.9.3 --disable-binary hat mir eine saubere Zusammenstellung von Ruby + yaml im rvm-Ordner gegeben. Ich musste dann Sudo chown -R username ~/.rvm && Sudo chgrp -R staff ~/.rvm, um Dinge in meinem Benutzer wiederherzustellen und mit meinen Berechtigungen auszuführen.

Ich empfehle nicht das Kompilieren von Dingen als root, da ich dies als Sicherheitsrisiko betrachte (insbesondere mit den Sicherheitslücken, die kürzlich in Ruby stack und rubygems.org) gefunden wurden) - - aber dies führte zu einer sauberen Installation von Ruby unter rvm und könnte jemandem mit mehr Talent oder Zeit helfen, die Ursache des Problems mit Apples gcc herauszufinden.

0
Karl Katzke