Pourquoi ne puis-je pas installer Rails on Lion en utilisant RVM?

Je rencontre des problèmes en essayant d’installer Rails sur OS X Lion en utilisant RVM.

Jusqu’à présent, j’ai fait ce qui suit:

  1. Installation de Mac OS X Lion version 10.7 (version 11A459e).
  2. XCode 4.1 Developer Preview 5 installé.
  3. RVM installé.
  4. Installer une version 1.8.7 de Ruby via RVM en utilisant la commande rvm install 1.8.7 . Remarque: je dois utiliser 1.8.7 et non 1.9.2.
  5. Passé à la version 1.8.7 de Ruby en utilisant la commande rvm 1.8.7 .
  6. Création d’un nouveau gemset à l’aide de la commande rvm gemset create rails3 .
  7. Passé au nouveau gemset en utilisant la commande rvm use 1.8.7@rails3 .
  8. Pour installer Rails, j’ai exécuté la commande gem install rails mais j’ai reçu l’erreur suivante:

    /Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60: [BOGUE] 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 ayant ce problème:

http://twitter.com/#!/pingles/status/66261101351927809 et https://github.com/carlhuda/bundler/issues/1058

Correction du problème!

La réponse était en fait sur l’un des liens que j’ai posté ci-dessus. Avant d’installer une version de ruby ​​(rvm install 1.8.7), je devais lancer ” export CC=/usr/bin/gcc-4.2 “. Avec cela en place, tout se passait bien.

Si vous ne voulez pas que CC exporté en permanence, vous pouvez faire CC=/usr/bin/gcc-4.2 rvm install 1.8.7

Si vous avez déjà installé ruby ​​1.8.7. Il suffit de faire 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’append. Pour une raison quelconque, la mise à niveau vers la version 4.1 après l’installation de la version 4.2 ne fonctionne pas correctement (du 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:

  1. Installer Xcode 4.2 à partir de l’App Store
  2. Installez darwin gcc à l’aide du programme d’ installation d’OSX gcc
  3. Installez REE en vous assurant de supprimer tous les vestiges des tentatives précédentes:

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 à la version 4.2 et vous devriez vous en sortir.

Si cela ne fonctionne toujours pas, ajoutez –force. Donc cela devient:

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 de ligne de commande Xcode d’Apple fournis avec le compilateur LLVM et sans LLVM libre.

Ruby 1.8.7 ne fonctionnera pas avec un compilateur LLVM même avec CC=clang , l’installation d’un fichier gcc libre LLVM résout le problème.

Il existe plusieurs options répertoriées ici:

https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-comstackrs

Longue histoire courte, installez GCC v4.2 avec Homebrew :

 brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb 

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 “, faites ” 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 

Puis réinstallez:

Vérifiez à nouveau votre chemin vers gcc (à utiliser pour CC =):

 ls -Al `which gcc-4.2` 

(facultatif) Vous pouvez définir ceci dans votre .bashrc par exemple:

 export CC=/usr/bin/gcc-4.2 

(facultatif) supprimer toute ancienne version de ruby

 rvm remove 1.8.7 

Alors:

 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 rvm. J’ai eu du mal à vérifier la sum de contrôle sur le serveur FTP et quelques problèmes avec tck et non. Vous pouvez peut-être omettre ces drapeaux.

Aussi: vous devrez peut-être supprimer une ancienne version de votre gemset:

 rvm gemset delete  

alors

 gem install bundler bundle install 

J’espère que cela t’aides.

Utilisation de la version macport et ruby-1.9.x. J’ai réussi à installer des rails avec un rbuy 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 à nouveau d’installer ruby-1.8.7

 rvm install 1.8.7 

C’était réussi.

Si vous utilisez RVM dans un stream de travail 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)

Ce n’est pas lié à RVM, mais si ce que vous recherchez est un environnement de développement local pour Lion, vous pouvez essayer RubyStack. Il s’agit d’un programme d’ installation open source gratuit 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é. Disclaimer: Je suis l’un des développeurs RubyStack 🙂

CC=/usr/bin/gcc-4.2 rvm install 1.8.7 n’a pas fonctionné pour moi, j’ai utilisé CC=/usr/bin/gcc rvm install 1.8.7 et c’est fait (en vérifiant avec “quelle gcc “)

Même avec toutes les autres suggestions sur cette page, je recevais encore des erreurs et je devenais frustré, alors j’ai dit “le défonce!” et utilisez le Ruby 1.8.7 fourni par le système:

 rvm use system 

Vous devez utiliser sudo pour installer des gemmes, mais moins de maux de tête.

Ma solution était 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 aussi fait en sorte que l’installation de gemmes avec des extensions natives (comme rmagick) fonctionne.