it-swarm.dev

Instalacja Ruby na Mac OS X 10.8.2

Nawiązałem do Instalowanie Ruby on Rails - Mac OS Lion i śledziłem Odpowiedź Alaina Beauvoisa i wszystko załatwiłem. Jedyna różnica polega na tym, że używam 1.9.3 zamiast 1.9.2.

Stworzyłem .bash_profile i nawet upewniłem się, że jest tam open -e .bash_profile, a nawet dodałem linię, jak twierdzi Alain Beauvois.

Ale to, co wydaje się być problemem teraz, to ten błąd:

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.

Przywoływany dziennik zawiera to:

[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

Próbowałem nawet 

rvm -install Ruby-1.9.3-p374

ale wciąż otrzymuję ten sam błąd. Dostałem trochę dziwnych błędów zanim dotarłem do tej części, ale po ponownym przesłaniu z dodatkiem Sudo przed nim działało. AFAIK, Sudo = robi coś z uprawnieniami/uprawnieniami su, prawda?

35
Nil

Po prostu znaleziono this . Myślę, że to właśnie musisz zrobić.

Po pierwsze, jeśli jeszcze tego nie zrobiłeś, pobierz MacPorts i zainstaluj go. Następnie uruchom następujące dwa polecenia:

Sudo port selfupdate
Sudo port install Apple-gcc42

Zbyt prawdziwy GCC systemu UNIX. Następnie, aby zainstalować wersję 1.9.3:

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

Co mówi rvm, aby zainstalował Ruby przy użyciu UNIX GCC bez Tk lub Tcl, które wymagają X11 (poza OSX 10.8). Jeśli chcesz takich rzeczy jak obsługa readline, OpenSSL itp., Sprawdź powyższy link Gist.

18
Linuxios

Miałem dokładnie ten sam błąd, ale używam naparu zamiast MacPorts. Musiałem tylko:

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

Nie musiałem ustawiać zmiennej środowiskowej CC, jak wskazują niektóre instrukcje. HTH!

31
Preston Lee

Jeśli używasz rbenv i Ruby-build zamiast rvm, musisz to zrobić:

env CC=gcc rbenv install 1.9.3-p392

Jeśli to nie zadziała, spróbuj tego:

# 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

Jeśli to nie zadziała, musisz najpierw zainstalować gcc:

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

Dopóki ludzie z Ruby nie zbudują kompatybilnej z Clang wersji Ruby, musisz wyeksportować zmienną CC przed każdą wersją nowej wersji Ruby

20
Fa11enAngel

To działało również w rbenv na OSX 10.8.2 + XCode 4.6

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

Warto jednak wiedzieć, że homebrew może zainstalować inną wersję gcc, jeśli Apple zmieni w przyszłości narzędzia Xcode z wiersza poleceń.

3
wlads

Właśnie to zrobiłem (po zainstalowaniu narzędzi wiersza poleceń XCode):

 $ export CC = gcc 
 $ rvm install 1.9.3 

I chociaż powiedział, że Ruby-Ruby-1.9.3-p374 został zbudowany przy użyciu clang - ale nie jest (w pełni) obsługiwany, oczekiwać błędów. - zadziałało.

1
Roman

Aby dodać kolejną odpowiedź do listy ... Używam Ruby-install i to właśnie dla mnie działało:

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

To działało zarówno dla mnie, jak i dla Ruby-1.9.3-p385 bez zainstalowanego homebrew lub Macports.

export CC=gcc
rvm install 1.9.3

Dał komunikat „Ruby 'Ruby-1.9.3-p385” został zbudowany przy użyciu clang - ale nie jest (w pełni) obsługiwany, oczekuj błędów. ” po wykonaniu zadania.

1
stonefruit

Próbowałem Apple-gcc42 i CC=/usr/bin/gcc bez żadnego szczęścia, więc nie jestem pewien, czy są konieczne. Używam menedżera rbenv i dlatego właśnie to działało dla mnie podczas próby zainstalowania 1.9.3-p385

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

Znalazłem go na tym blogu

0
cwd

Dla porządku: działa dla mnie z rbenv, Ruby 1.9.3-p385,gcc48(brew install gcc48) w Darwin Kernel Version 15.2.0. (podczas kompilacji było wiele ostrzeżeń, które zignorowałem, Ruby działa do tej pory dobrze).

Musiałem tylko ustawić CC=gcc-4.8 przed rbenv install 1.9.3-p385

0
Kashyap