Je rencontre des problèmes lors de l'installation de Rails sur OS X Lion à l'aide de RVM.
Jusqu'à présent, j'ai fait ce qui suit:
rvm install 1.8.7
. Remarque: je dois utiliser 1.8.7 et non 1.9.2.rvm 1.8.7
.rvm gemset create Rails3
.rvm use 1.8.7@Rails3
.Pour installer Rails j'ai exécuté la commande gem install Rails
mais j'ai eu l'erreur suivante:
/Users/m/.rvm/rubies/Ruby-1.8.7-p334/lib/Ruby/1.8/timeout.rb:60: [BUG] Erreur de segmentation
La même erreur se produit lorsque vous essayez d'exécuter une commande gem, donc je ne pense pas que ce soit vraiment un problème avec Rails.
À en juger par les liens ci-dessous, je ne semble pas être la seule personne à avoir ce problème:
http://Twitter.com/#!/pingles/status/66261101351927809 et https://github.com/carlhuda/bundler/issues/1058
A corrigé!
La réponse était en fait sur l'un des liens que j'ai postés ci-dessus. Avant d'installer une version de Ruby (rvm install 1.8.7), je devais exécuter "export CC=/usr/bin/gcc-4.2
". Avec cela en place, tout s'est bien passé.
Si vous ne voulez pas que CC
soit exporté de façon permanente, vous pouvez faire CC=/usr/bin/gcc-4.2 rvm install 1.8.7
Si vous avez déjà installé Ruby 1.8.7. Faites simplement CC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7
Si vous avez installé Xcode 4.2, il n'installe plus de gcc non LLVM, vous devez donc l'ajouter. Pour une raison quelconque, la rétrogradation vers 4.1 après avoir installé 4.2 ne fonctionne pas correctement (au moins, cela n'a pas été le cas pour moi et d'autres ont eu des problèmes similaires).
Après pas mal de coups, c'est ce qui a finalement fonctionné pour moi:
Fermez toutes les fenêtres de terminal ouvertes, ouvrez-en une nouvelle et
rvm remove ree
export CC=/usr/bin/gcc-4.2
rvm install ree
Cela a fonctionné pour moi avec rvm 1.8.6, OS X 10.7.2 et gcc-4.2 version 4.2.1 (Apple build 5666).
Si vous avez déjà installé Xcode 4.1, résistez à l'envie de passer à 4.2 et tout devrait bien se passer.
Si cela ne fonctionne toujours pas, ajoutez --force. Cela devient donc:
CC=/usr/bin/gcc-4.2 rvm install Ruby-1.8.7 --force
Assurez-vous de supprimer 1.8.7 si vous l'avez déjà installé avant d'utiliser "export CC=/usr/bin/gcc-4.2
" en faisant "rvm remove 1.8.7
"
J'ai eu le même problème sur mon système. J'ai installé les outils ligne de commande Xcode de Apple qui est livré avec le compilateur LLVM et sans logiciel LLVM gratuit).
Ruby 1.8.7 ne fonctionnera pas avec un compilateur LLVM pas même avec CC=clang
, donc l'installation d'un gcc gratuit LLVM résout le problème.
Il existe plusieurs options répertoriées ici:
https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers
Pour faire court, installez GCC v4.2 avec Homebrew :
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/Apple-gcc42.rb
et puis installez Ruby 1.8.7:
CC=gcc-4.2 rvm install 1.8.7
Au lieu de "export CC=/usr/bin/gcc-4.2
" faire "export CC=gcc
"(xCode 4.2.x doit être installé).
Vérifiez quelle version de gcc vous avez comme ceci:
ls -Al `which gcc-4.2`
J'ai suivi les instructions ici: http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion
brew update
brew tap homebrew/dupes
brew install Apple-gcc42
Réinstallez ensuite:
Vérifiez à nouveau votre chemin vers gcc (à utiliser pour CC =):
ls -Al `which gcc-4.2`
(facultatif) Vous pouvez définir cela dans votre .bashrc par exemple:
export CC=/usr/bin/gcc-4.2
(facultatif) supprimez toute ancienne version de Ruby
rvm remove 1.8.7
Ensuite:
CC=/usr/local/bin/gcc-4.2 rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
ou si vous avez défini CC dans votre profil
rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
Notez les drapeaux sur l'installation de rvm. J'ai eu du mal à vérifier la somme de contrôle sur le serveur ftp et quelques problèmes avec tck et autres. Vous pourrez peut-être omettre ces indicateurs.
Aussi: vous devrez peut-être supprimer une ancienne version de votre jeu de gemmes:
rvm gemset delete <gemset>
Ensuite
gem install bundler
bundle install
J'espère que cela t'aides.
Utilisation de macport et de la version Ruby-1.9.x. J'ai réussi à installer Rails avec Ruby gem.
J'ai le même problème que pour Arch x86_64, quand je commente la ligne dans mon ~/.rvmrc
rvm_archflags="-Arch x86_64"
Ouvrez un nouveau terminal et essayez de réinstaller Ruby-1.8.7
rvm install 1.8.7
C'était réussi.
Si vous utilisez RVM dans un workflow de développement, j'ai ajouté un correctif dans un fichier .rvmrc pour OS X Lion.
https://Gist.github.com/1112962
(nom de fichier mis à jour)
Même avec toutes les autres suggestions sur cette page, j'obtenais toujours des erreurs de segmentation et j'étais frustré, alors j'ai dit "vissez-le!" et utilisez le système Ruby 1.8.7:
rvm use system
Vous devez utiliser Sudo pour installer des gemmes, mais toujours moins de maux de tête.
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
ne fonctionnait pas pour moi, j'ai utilisé CC=/usr/bin/gcc rvm install 1.8.7
et il l'a fait (en vérifiant avec "lequel gcc
")
Ma solution a été de remplacer le lien symbolique/usr/bin/gcc dans le terminal. Voici comment je l'ai fait:
https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc
Cela a non seulement corrigé mon installation RVM, mais également fait en sorte que l'installation de gemmes avec des extensions natives (comme rmagick) fonctionne.
Ce n'est pas lié à RVM, mais si ce que vous recherchez est un environnement de développement local pour Lion, vous voudrez peut-être essayer RubyStack Il s'agit d'un programme d'installation tout-en-un gratuit et open source. pour Apache, MySQL, Ruby, Rails, etc. Il ne nécessite pas de compilation et il est autonome, donc si vous ne l'aimez pas, vous pouvez simplement supprimer le répertoire d'installation et vous avez terminé. Avertissement: je suis l'un des développeurs RubyStack :)