web-dev-qa-db-fra.com

Comment puis-je installer Ruby 1.9.3 dans Mac OS X Lion?

J'essaie d'installer Ruby 1.9.3 mais j'ai des problèmes. J'ai installé RVM, puis j'ai tapé:

rvm install 1.9.3

La sortie indique:

ERROR: Error running ' ./configure....

Le journal indique:

configure: WARNING: unrecognized options: --with-libyaml-dir 
checking build system type... x86_64-Apple-darwin11.2.0 
checking Host system type... x86_64-Apple-darwin11.2.0 
checking target system type...x86_64-Apple-darwin11.2.0 
checking whether the C compiler works... no
configure: error: in `/Users/myuser/.rvm/src/Ruby-1.9.3-p0':
configure: error: C compiler cannot create executables See `config.log' for more details

J'ai téléchargé le nouveau XCode sur l'App Store et l'ai installé.

56
Klian

Essayez d'utiliser le compilateur clang au lieu de celui par défaut:

rvm install 1.9.3 --with-gcc=clang
118
zzaman

RVM a besoin de gcc-4.2 pour pouvoir installer Ruby 1.9.3. Malheureusement Lion n'inclut plus gcc-4-2, juste la version llvm:

lrwxr-xr-x  1 root  wheel  12 15 feb 17:21 /usr/bin/gcc -> llvm-gcc-4.2

Si vous avez Lion mais mis à niveau à partir de Snow Leopard, il est probable que vous ayez toujours gcc-4.2. Si vous avez une toute nouvelle installation de Lion, vous devez télécharger gcc-4.2. J'ai recommandé de télécharger ce package.

https://github.com/kennethreitz/osx-gcc-installer

Vérifiez que gcc-4.2 est maintenant installé:

-rwxr-xr-x  1 root  wheel  113024 16 may  2011 /usr/bin/gcc-4.2
lrwxr-xr-x  1 root  wheel      12 15 feb 17:21 /usr/bin/gcc -> llvm-gcc-4.2

Vous pouvez maintenant installer Ruby 1.9.3 comme d'habitude:

rvm install 1.9.3
rvm use 1.9.3 --default
15
Marc M

Si vous souhaitez simplement installer et tenir à jour la dernière version de Ruby (au lieu de basculer entre les différentes versions de Ruby), vous pouvez installer Ruby via homebrew :

brew install Ruby
13
jupp0r

Essayez ceci en premier:

rvm get latest

Voici ce que je travaille:

  rvm:
    version:      "rvm 1.9.2 by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]"

  Ruby:
    interpreter:  "Ruby"
    version:      "1.9.3p0"
    date:         "2011-10-30"
    platform:     "x86_64-darwin11.2.0"
    patchlevel:   "2011-10-30 revision 33570"
    full_version: "Ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]"
6
Sean Vikoren

Réellement, Ruby-1.9.3-p125 fonctionne maintenant avec gcc-llvm. Mais, les versions stables/dernières de rvm ne le sont pas (encore). Mais c'était juste rvm étant prudent et il y a maintenant un correctif à cette solution de contournement dans la branche principale de rvm.

Simplement, mettez à niveau rvm vers la branche principale et installez/mettez à niveau Ruby:

GT-MBP:~ gthiruva$ rvm upgrade Ruby-1.9.3-p0 1.9.3
Are you sure you wish to upgrade from Ruby-1.9.3-p0 to     Ruby-1.9.3-p125? (Y/n): Y
Installing new Ruby ruby-1.9.3-p125
Fetching yaml-0.1.4.tar.gz to /Users/gthiruva/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/gthiruva/.rvm/src
Configuring yaml in /Users/gthiruva/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/gthiruva/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/gthiruva/.rvm/usr
The autodetected CC(/usr/bin/gcc-4.2) is LLVM based, it is not yet fully supported by
Ruby and gems, please read `rvm requirements`, and set CC=/path/to/gcc .
Unable to install Ruby ruby-1.9.3-p125.         Please install it manually to continue.
GT-MBP:~ gthiruva$ rvm get head
Original installed RVM version:

rvm 1.10.2 by Wayne E. Seguin <[email protected]>, Michal Papis
<[email protected]>`enter code here` [https://rvm.beginrescueend.com/]
...
RVM reloaded!
GT-MBP:~ gthiruva$ rvm reload
RVM reloaded!
GT-MBP:~ gthiruva$ exec bash

rvm 1.10.2 by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> 
[https://rvm.beginrescueend.com/]

GT-MBP:~ gthiruva$ rvm upgrade Ruby-1.9.3-p0 1.9.3
Are you sure you wish to upgrade from Ruby-1.9.3-p0 to     Ruby-1.9.3-p125? (Y/n): Y
Installing new Ruby ruby-1.9.3-p125
...
Successfully migrated Ruby-1.9.3-p0 to Ruby-1.9.3-p125
Upgrade complete!
6
George
  1. Ouvrir Xcode
  2. Ouvrez les préférences Xcode
  3. Ouvrir Téléchargements onglet
  4. Vérifier Outils de ligne de commande

Xcode screenshot

6
sparkle
  1. Désinstallez/supprimez toutes les traces d'anciennes versions Ruby et extras installées manuellement (sqlite3, libxml2-x.x.x, libxslt-x.x.x)) de votre/usr/local/ou de l'endroit où vous les avez installées.
  2. Téléchargez et installez JewlryBox http://unfiniti.com/software/mac/jewelrybox qui est une interface GUI RVM pour la gestion de vos rubis et ensembles de gemmes.
  3. Dans JewlryBox, cliquez sur "Ajouter Ruby" et choisissez la version de Ruby que vous souhaitez installer (j'ai choisi 64 bits, Activé partagé et je n'ai pas coché/coché l'option "Utiliser clang").

Fonctionne avec OS X Lion 10.7.3 et les outils de ligne de commande Xcode 4.3 installés.

3
ALA

Tapez les commandes suivantes

  • ~ $: source ~/.rvm/scripts/rvm
  • ~ $: tapez rvm | tête -n 1

    rvm est une fonction

  • ~ $: vi ~/.bash_profile ajoutez cette ligne dans bash_profile "source ~/.rvm/scripts/rvm"

  • ~ $: rvm install 1.9.3

  • ~ $: rvm utilise 1.9.3
2
Tejasvi Manmatha

Clang ne coupait pas de rubis pour moi et l'installation de rvm rubis a échoué, peu importe ce qui se passe avec rvm à utilisateur unique. Sudo combiné avec quelques modifications de permission et $ PATH à mon utilisateur a rendu cela possible. Voici ce que j'ai fait:

Sudo bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )</pre>
Sudo rvm pkg install readline
Sudo rvm install 1.9.3

L'installation de rvm à partir de l'utilisateur root crée un script Shell dans/usr/local/rvm/scripts/rvm Le code extrait de cet exécutable et l'a placé dans mon .bash_profile afin que .bash_profile soit enregistré sous:

[ -s "/usr/local/rvm/scripts/rvm" ]] ;
    true ${rvm_path:="/usr/local/rvm"}
    source "/usr/local/rvm/scripts/rvm"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Le groupe d'utilisateurs RVM a été créé lors de l'installation de l'utilisateur root rvm. La dernière chose que j'ai faite était d'aller dans mon volet de préférences dans OSX 10.7 et d'ajouter mon utilisateur au nouveau groupe rvm. Enfin, j'ai rechargé mon terminal et j'ai pu installer 1.9.3 via rvm single user.

0
Bent Cardan

En utilisant rvm, Ruby 1.9.3, et en essayant d'utiliser gcc, je n'ai pas pu obtenir Ruby pour construire proprement avec yaml . Bien qu'il existe une variété de hacks pour faire fonctionner la compilation yaml, aucun ne semblait fonctionner avec rvm. Je dépannais tard dans la nuit et je n'ai pas conservé mes erreurs, donc je travaille de mémoire ici - je apprécierait que quelqu'un d'autre avec un environnement propre puisse tester ces étapes.

En utilisant le --with-gcc=clang la solution a produit l'erreur légèrement infâme sur l'analyseur yaml:

It seems your Ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your Ruby. 

Puisque j'ai besoin de yaml pour ce que je vais faire, et que libyaml s'est bien compilé lorsqu'il n'est pas exécuté par rvm, et que je l'ai même installé dans/usr/lib après l'avoir construit à la main, je ne comprends pas pourquoi rvm ne pouvait pas pas trouver et utiliser cette version de libyaml, même avec le --shared-libs option.

En utilisant CC=/usr/bin/gcc rvm install 1.9.3 a produit des erreurs. Dans le fichier .rvm/log/Ruby-1.9.3-p385/configure.log, j'ai trouvé ce qui suit:

configure: error: C compiler cannot create executables
See `config.log' for more details

Cette erreur était également présente dans .rvm/log/libyaml-0.14/configure.log.

La solution pour moi a finalement été d'exécuter la commande rvm avec Sudo. L'exécution d'une compilation en tant que root semble supprimer la désapprobation de la chaîne d'outils GCC d'Apple à l'égard des utilisateurs qui font quelque chose d'aussi sale que la compilation de logiciels.

Alors Sudo CC=/usr/bin/gcc rvm install 1.9.3 --disable-binary m'a donné une compilation propre de Ruby + yaml dans le dossier rvm. Je devais alors Sudo chown -R username ~/.rvm && Sudo chgrp -R staff ~/.rvm pour récupérer les choses dans mon utilisateur et les exécuter avec mes autorisations.

Je ne pas recommande de compiler les choses en tant que root, car je le vois comme un risque pour la sécurité (en particulier avec les vulnérabilités trouvées dans la pile Ruby et rubygems.org récemment) - - mais cela a produit une installation propre de Ruby sous rvm et pourrait aider quelqu'un avec plus de talent ou de temps à comprendre la cause première du problème avec gcc d'Apple.

0
Karl Katzke