J'ai parlé de Installation de Ruby on Rails - Mac OS Lion et suivi de la réponse d'Alain Beauvois et j'ai pratiquement tout mis en place. La seule différence est que j'utilise 1.9.3 au lieu de 1.9.2.
J'ai créé .bash_profile
et je me suis même assuré que cela existe par open -e .bash_profile
et j'ai même ajouté la ligne indiquée par Alain Beauvois.
Mais ce qui semble être le problème maintenant, c'est que je reçois 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 obtenez toujours la même erreur. J'ai eu quelques erreurs bizarres avant d'arriver à cette partie, mais après que je l'ai relu avec une addition de Sudo
devant, cela a fonctionné. À ma connaissance, Sudo
= faire quelque chose avec les autorisations/privilèges su
, non?
Je viens de trouver ceci . Je pense que c'est ce que vous devez faire.
D'abord, si vous ne l'avez pas déjà fait, téléchargez MacPorts et installez-le. Ensuite, exécutez les deux commandes suivantes:
Sudo port selfupdate
Sudo port install Apple-gcc42
Trop obtenir un vrai UNIX GCC. Ensuite, pour installer 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 sous UNIX GCC sans Tk ou Tcl nécessitant X11 (exclu d’OSX 10.8). Si vous voulez des choses comme le support readline, OpenSSL, etc., consultez le Gist lié ci-dessus.
J'ai eu exactement la même erreur, mais j'utilise brew au lieu de MacPorts. Tout ce que je devais faire était:
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 le soulignent certaines instructions. HTH!
Si vous utilisez rbenv et Ruby-build au lieu de rvm, procédez comme suit:
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 Ruby compatible clang, vous devez exporter la variable CC avant chaque compilation d'une nouvelle version de Ruby.
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 modifie les outils de ligne de commande de Xcode ultérieurement.
Je viens de faire (après l'installation des outils de ligne de commande XCode):
$ export CC = gcc $ rvm install 1.9.3
Et bien qu'il soit dit que "Ruby 'Ruby-1.9.3-p374' a été construit en utilisant clang - mais qu'il n'est pas (totalement) pris en charge, attendez-vous aux erreurs." - ça a marché.
Juste pour ajouter une autre réponse à la liste ... J'utilise Ruby-install, et voici ce qui a fonctionné pour moi:
CC=/usr/local/bin/gcc-4.2 Ruby-install Ruby 1.9.3-p0
Cela a fonctionné pour moi aussi sur Ruby-1.9.3-p385 sans homebrew ou Macports installé.
export CC=gcc
rvm install 1.9.3
Le message "Ruby 'Ruby-1.9.3-p385' a été créé à l'aide de clang - mais il n'est pas (totalement) pris en charge, attendez-vous aux erreurs." après avoir terminé la tâche.
J'ai essayé Apple-gcc42
et CC=/usr/bin/gcc
sans aucune chance, donc je ne suis pas sûr qu'ils soient nécessaires. J'utilise le gestionnaire rbenv
et c'est donc ce qui a fonctionné pour moi lorsque j'essaie d'installer 1.9.3-p385
brew install readline
CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)" rbenv install 1.9.3-p385
Trouvé sur ce blog
Pour mémoire: fonctionne pour moi avec rbenv
, Ruby 1.9.3-p385
,gcc48
(brew install gcc48
) sur Darwin Kernel Version 15.2.0
. (Il y avait beaucoup d'avertissements lors de la compilation que j'ai ignorés, Ruby fonctionne bien jusqu'à présent).
Il me suffisait de définir CC=gcc-4.8
avant rbenv install 1.9.3-p385