webentwicklung-frage-antwort-db.com.de

Ruby unter Mac OS X 10.8.2 installieren

Ich habe auf Installation von Ruby on Rails - Mac OS Lion hingewiesen und die Antwort von Alain Beauvois befolgt - und ziemlich alles auf die Beine gestellt. Der einzige Unterschied ist, dass ich 1.9.3 anstelle von 1.9.2 verwende.

Ich habe .bash_profile erstellt und sogar dafür gesorgt, dass open -e .bash_profile vorhanden ist, und sogar die Zeile hinzugefügt, wie von Alain Beauvois angegeben.

Aber das Problem scheint jetzt zu sein: Ich bekomme diesen Fehler:

Error running 'make', please read /usr/local/rvm/log/Ruby-1.9.3-p374/make.log
There has been an error while running make. Halting the installation.

Das referenzierte Protokoll enthält Folgendes:

[2013-02-02 21:41:52] make
    CC = clang
    LD = ld
    LDSHARED = clang -dynamic -bundle
    CFLAGS = -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration  -pipe 
    XCFLAGS = -include Ruby/config.h -include Ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT
    CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -I/usr/local/rvm/usr/include -I. -I.ext/include/x86_64-darwin12.2.1 -I./include -I.
    DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace  
    SOLIBS = 
compiling regparse.c
regparse.c:582:15: error: implicit conversion loses integer precision: 'st_index_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
    return t->num_entries;
    ~~~~~~ ~~~^~~~~~~~~~~
1 error generated.
make: *** [regparse.o] Error 1

Ich habe es sogar versucht 

rvm -install Ruby-1.9.3-p374

bekomme aber trotzdem den gleichen fehler. Ich habe einige seltsame Fehler bekommen, bevor ich zu diesem Teil kam, aber nachdem ich es mit einem Zusatz von Sudo davor reran hatte, funktionierte es. AFAIK, Sudo = etwas mit su Berechtigungen/Privilegien machen, richtig?

35
Nil

Nur gefunden this . Ich denke, das ist es, was du tun musst.

Laden Sie zunächst MacPorts herunter und installieren Sie es. Führen Sie dann die folgenden zwei Befehle aus:

Sudo port selfupdate
Sudo port install Apple-gcc42

Echtes UNIX GCC. Dann installieren Sie 1.9.3:

CC=/opt/local/bin/gcc-Apple-4.2 rvm install Ruby-1.9.3-p194 --enable-shared --without-tk --without-tcl

Dem rvm wird empfohlen, Ruby mithilfe von UNIX GCC ohne Tk oder Tcl zu installieren, für die X11 erforderlich ist (OSX 10.8 ist nicht erforderlich). Wenn Sie Unterstützung für Readline, OpenSSL usw. wünschen, lesen Sie die oben verlinkte Gist.

18
Linuxios

Ich hatte genau den gleichen Fehler, benutze aber Brew anstelle von MacPorts. Alles was ich tun musste war:

brew update
brew tap homebrew/dupes
brew install Apple-gcc42
rvm get stable
rvm install 1.9.3-p374

Ich musste die CC-Umgebungsvariable nicht einstellen, da einige Anweisungen darauf hinweisen. HTH!

31
Preston Lee

Wenn Sie rbenv und Ruby-build anstelle von rvm verwenden, müssen Sie Folgendes tun:

env CC=gcc rbenv install 1.9.3-p392

Wenn dies nicht funktioniert, versuchen Sie Folgendes:

# this export must be done before every new Ruby build
export CC=gcc
# use the version you wish to install
rbenv install 1.9.3-p392

Wenn es nicht funktioniert, müssen Sie zuerst gcc installieren:

brew update
brew tap homebrew/dupes
# install Apple-gcc, only once needed
brew install Apple-gcc42

Bis die Ruby-Leute eine clang-kompatible Ruby-Version erstellen, müssen Sie die CC-Variable vor jedem Build einer neuen Ruby-Version exportieren

20
Fa11enAngel

Dies funktionierte auch in rbenv unter OSX 10.8.2 + XCode 4.6

$ export CC=gcc
$ rbenv install 1.9.3-p385 -v

Es ist jedoch auch nützlich zu wissen, dass Homebrew eine andere Version von gcc installieren kann, wenn Apple die Befehlszeilentools von Xcode in Zukunft ändert.

3
wlads

Ich tat es (nachdem ich XCode-Befehlszeilen-Tools installiert hatte):

 $ export CC = gcc 
 $ rvm install 1.9.3 

Und obwohl es heißt "Ruby 'Ruby-1.9.3-p374' wurde mit Clang erstellt - aber es wird nicht (vollständig) unterstützt, erwarten Sie Fehler." - es funktionierte.

1
Roman

Um der Liste noch eine weitere Antwort hinzuzufügen ... Ich benutze Ruby-install und das hat bei mir funktioniert:

CC=/usr/local/bin/gcc-4.2 Ruby-install Ruby 1.9.3-p0
1
bricker

Dies funktionierte für mich auch auf Ruby-1.9.3-p385, ohne dass Homebrew oder Macports installiert waren.

export CC=gcc
rvm install 1.9.3

Gab die Nachricht "Ruby 'Ruby-1.9.3-p385' wurde mit clang erstellt - aber es wird nicht (vollständig) unterstützt, erwarten Sie Fehler." nach Abschluss der Aufgabe.

1
stonefruit

Ich habe Apple-gcc42 und CC=/usr/bin/gcc ohne Glück ausprobiert. Ich verwende den rbenv-Manager. Dies hat mir bei der Installation von 1.9.3-p385 gut funktioniert.

brew install readline
CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)" rbenv install 1.9.3-p385

Fand es auf diesem Blog

0
cwd

Für das Protokoll: Funktioniert für mich mit rbenv, Ruby 1.9.3-p385,gcc48(brew install gcc48) für Darwin Kernel Version 15.2.0. (Es gab viele Warnungen beim Kompilieren, die ich ignoriert habe, Ruby funktioniert soweit gut).

Ich musste nur CC=gcc-4.8 vor rbenv install 1.9.3-p385 einstellen

0
Kashyap