35 votes

Installation de Ruby sur Mac OS X 10.8.2

J'ai fait référence à Installation de Ruby on Rails - Mac OS Lion et a suivi Réponse d'Alain Beauvois et a obtenu à peu près tout ce qu'il fallait. La seule différence est que j'utilise la version 1.9.3 au lieu de la version 1.9.2.

J'ai créé .bash_profile et s'est même assuré de sa présence en open -e .bash_profile et a même ajouté la phrase d'Alain Beauvois.

Mais ce qui semble être le problème maintenant, c'est que j'obtiens cette erreur :

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.

Le journal référencé contient ceci :

[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

J'ai même essayé

rvm -install ruby-1.9.3-p374

mais j'obtiens toujours la même erreur. J'ai obtenu quelques erreurs bizarres avant d'arriver à cette partie, mais après l'avoir ré-exécutée en y ajoutant sudo devant elle, cela a fonctionné. AFAIK, sudo = faire quelque chose avec su permissions/privilèges, n'est-ce pas ?

31voto

Preston Lee Points 473

J'ai eu exactement la même erreur, mais j'utilise brew au lieu de MacPorts. Tout ce que j'ai eu à faire, c'est

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

Je n'ai pas eu à définir la variable d'environnement CC comme certaines instructions l'indiquent. HTH !

20voto

Fa11enAngel Points 2754

Si vous utilisez rbenv et ruby-build au lieu de rvm, vous devez le faire :

env CC=gcc rbenv install 1.9.3-p392

Si cela ne fonctionne pas, essayez ceci :

# 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

Si cela ne fonctionne pas, vous devez d'abord installer gcc :

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

Jusqu'à ce que les gens de Ruby construisent une version de Ruby compatible avec Clang, vous devez exporter la variable CC avant chaque construction d'une nouvelle version de Ruby.

18voto

Linuxios Points 16966

Je viens de trouver cette . Je pense que c'est ce que vous devez faire.

Tout d'abord, si vous ne l'avez pas encore fait, téléchargez MacPorts et l'installer. Exécutez ensuite les deux commandes suivantes :

sudo port selfupdate
sudo port install apple-gcc42

Pour obtenir le vrai UNIX GCC. Ensuite, pour installer la version 1.9.3, exécutez :

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

Ce qui indique à rvm d'installer Ruby en utilisant UNIX GCC sans Tk ni Tcl qui nécessitent X11 (absent d'OSX 10.8). Si vous voulez des choses comme le support de la ligne de lecture, OpenSSL, etc., consultez le lien gist ci-dessus.

3voto

wlads Points 116

Cela a également fonctionné dans rbenv sur OSX 10.8.2 + XCode 4.6

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

Mais il est également utile de savoir que homebrew peut installer une autre version de gcc si Apple change les outils de ligne de commande de Xcode dans le futur.

1voto

Roman Points 7430

C'est ce que je viens de faire (après avoir installé les outils de ligne de commande XCode) :

$ export CC=gcc
$ rvm install 1.9.3

Et bien qu'il dise "Ruby 'ruby-1.9.3-p374' a été construit en utilisant clang - mais il n'est pas (complètement) supporté, attendez-vous à des erreurs". - cela a fonctionné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X