web-dev-qa-db-fra.com

Pourquoi ne puis-je pas installer Rails sur Lion à l'aide de RVM?

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:

  1. Mac OS X Lion version 10.7 installé (build 11A459e).
  2. Installé XCode 4.1 Developer Preview 5.
  3. RVM installé.
  4. Installation d'une version 1.8.7 de Ruby via RVM à l'aide de 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 à l'aide de la commande rvm 1.8.7.
  6. Création d'un nouveau jeu de gemmes à l'aide de la commande rvm gemset create Rails3.
  7. Passé au nouveau jeu de gemmes à l'aide de la commande rvm use 1.8.7@Rails3.
  8. 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

83
Michael Jerome

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

77
Michael Jerome

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:

  1. Installez Xcode 4.2 depuis l'App Store
  2. Installez darwin gcc à l'aide de OSX gcc installer
  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 à 4.2 et tout devrait bien se passer.

24
Matt Sanders

Si cela ne fonctionne toujours pas, ajoutez --force. Cela devient donc:

CC=/usr/bin/gcc-4.2 rvm install Ruby-1.8.7 --force

22
Hans verschooten

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 "

7
HeroicEric

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
6
KARASZI István

Au lieu de "export CC=/usr/bin/gcc-4.2" faire "export CC=gcc "(xCode 4.2.x doit être installé).

4
xpepermint

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.

2
Rimian

Utilisation de macport et de la version Ruby-1.9.x. J'ai réussi à installer Rails avec Ruby gem.

1
Henry Kim

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.

1

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)

0
Brad Gessler

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.

0
Aidan Feldman

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")

0
Juan Pablo Buritica

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.

0
Mark Maglana

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 :)

0
Beltran