web-dev-qa-db-fra.com

Comment mettre à jour Ruby à 1.9.x sur Mac?

J'ai créé un nouveau compte utilisateur sur mon Mac et j'essaie de mettre à jour la version actuelle de Ruby (1.9.2) à partir du paramètre par défaut Snow Leopard de 1.8.7. Quelqu'un peut-il pointez-moi vers le tutoriel ou expliquer la meilleure méthode pour mettre à jour Ruby sur mon mac de 1.8 à 1.9.2? Merci

107
agentbanks217

Je vais faire une forte suggestion pour rvm .

C'est un excellent moyen de gérer plusieurs ensembles de rubis et de pierres précieuses sans entrer en conflit avec la version du système.


J'ajouterai que maintenant (4/2/2013), j'utilise beaucoup rbenv , car mes besoins sont simples. RVM est génial, mais il a beaucoup de fonctionnalités dont je n’ai jamais besoin, alors je l’ai sur certaines machines et sur mon ordinateur de bureau et portable. Cela vaut la peine de vérifier les deux et de voir ce qui convient le mieux à vos besoins.

66
the Tin Man

Comme The Tin Man suggère (ci-dessus) [~ # ~] rvm [~ # ~] (Ruby Version Manager) est le Standard pour la mise à niveau de votre Ruby sous OSX: https://rvm.io

Pour commencer, ouvrez une fenêtre Terminal et lancez la commande suivante:

\curl -L https://get.rvm.io | bash -s stable --Ruby

(vous aurez besoin de confiance l’équipe de développement RVM pour que la commande soit pas malveillant - si vous êtes un manchot paranoïaque = comme moi, vous pouvez toujours aller lire le source: https://github.com/wayneeseguin/rvm ) Quand vous aurez terminé besoin de redémarrer le terminal pour que la commande rvm fonctionne.

rvm list known

(vous montre les dernières versions disponibles de Ruby)

rvm install Ruby-2.3.1

Pour une version spécifique, suivi de

rvm use Ruby-2.3.1

ou si vous voulez seulement la dernière version (actuelle):

rvm install current && rvm use current

(installe la version stable actuelle - au moment de l'écriture de Ruby-2.3.1 - veuillez mettre à jour ce wiki lors de la publication de nouvelles versions)

Note sur la compilation Ruby : Dans mon cas, je devais également installer Homebrew http://mxcl.github.com/homebrew/ pour obtenir le gems J'avais besoin de ( RSpec ), ce qui vous oblige à installer Xcode (si ce n'est déjà fait) https://iTunes.Apple.com/us/app/xcode/id497799835 AND/OR installez le paquet GCC à partir de: https://github.com/kennethreitz/osx-gcc-installer = pour éviter les erreurs lors de l'exécution de " make".

Edit: À partir de Mavericks vous pouvez choisir d'installer uniquement les outils de ligne de commande Xcode au lieu de l'ensemble du package Xcode, qui vient avec gcc et plein d’autres choses dont vous pourriez avoir besoin pour construire des paquets. Il peut être installé en exécutant xcode-select --install et en suivant l'invite à l'écran.

Note sur les erreurs : si vous obtenez l'erreur ", RVM n'est pas une fonction "en essayant cette commande, visitez: Comment changer ma version de Ruby en utilisant RVM? = pour la solution.

198
nelsonic

Avec brasser c'est un one-liner:

(en supposant que vous avez exploité les versions homebrew /, ce qui peut être fait en exécutant brew tap homebrew/versions)

brew install Ruby193

Travaillé hors de la boîte pour moi sur OS X 10.8.4. Ou si vous voulez 2.0, vous venez de brew install Ruby

Plus généralement, brew search Ruby Vous montre les différentes pensions disponibles, et si vous voulez être vraiment spécifique, vous pouvez utiliser brew versions Ruby Et récupérer une version spécifique à la place.

19
Nils

Je sais que c'est un ancien billet, mais je voudrais ajouter quelques informations supplémentaires à ce sujet. Premièrement, je pense que rvm fait très bien [~ # ~] mais [~ # ~] il n'était pas mis à jour Ruby de mon système (MAC OS Yosemite).

Que faisait rvm: installer à un autre emplacement et définir le chemin d'accès à ma variable d'environnement ... Et je m'ennuyais un peu parce que j'avais deux Ruby sur mon système) .

Donc, pour résoudre ce problème, j’ai désinstallé le rvm, puis utilisé le gestionnaire de paquets Homebrew disponible ici et installé Ruby lancer la commande de terminal en faisant brew install Ruby.

Et puis tout fonctionnait parfaitement! Le Ruby de mon système a été mis à jour! J'espère que cela aidera pour les prochains aventuriers!

4
Damiii

Je ne suis pas d'accord avec The Tin Man ici. Je considère que rbenv est préférable à RVM. rbenv n'interfère pas de manière radicale avec votre Shell comme le fait RVM, et vous permet d'ajouter des installations distinctes Ruby dans des dossiers ordinaires que vous pouvez examiner directement. Cela vous permet de compiler Ruby vous-même. Voici un bon aperçu des différences: https://github.com/sstephenson/rbenv/wiki/Why-rbenv%3F

Je fournis des instructions pour la compilation Ruby 1.9 pour rbenv ici . En outre, des informations plus détaillées ici . J'ai utilisé cette technique avec un succès facile sur Léopard des neiges, lion et lion de montagne.

3
matt

L'article de Dan Benjamin dans Hivelogic Installation de Ruby, RubyGems et Rails sur Snow Leopard est l'emplacement recommandé, bien que l'article concerne la version 1.8, voici donc un Installation spécifique à Ruby 1.9 sur Snow Leopard . Méfiez-vous des technologies 64 bits ... ou bien optez pour une configuration "grasse" 64 bits (telle quelle, par exemple, Apache sous OS X, ce qui peut poser des problèmes de configuration 32 bits). bibliothèques binaires) ou vérifiez les gemmes que vous utiliserez probablement pour vous assurer qu'elles sont compatibles avec la version 64 bits.

2
Dave Everitt

Cette commande fonctionne réellement

\curl -L https://get.rvm.io | bash -s stable --Ruby

2
Anthony

Comme mentionné précédemment, la version de bundler peut être trop élevée pour votre version de Rails.

J'ai rencontré le même problème avec Rails 3.0.1 qui nécessite Bundler v1.0.0 - v1.0.22

Vérifiez la version de votre bundler en utilisant: gem list bundler

Si la version de votre bundle n’est pas dans la plage appropriée, j’ai trouvé cette solution efficace: rvm @global do gem uninstall bundler

Remarque: rvm est requis pour cette solution ... un autre exemple de la raison pour laquelle vous devriez utiliser rvm.

0
whiteshooz

Il existe plusieurs autres gestionnaires de version à prendre en compte, voir quelques exemples et celui qui ne figure pas dans la liste que je vais essayer prochainement est ch-Ruby . J'ai essayé Rbenv mais j'ai eu trop de problèmes avec ça. La RVM est mon pilier, bien qu’elle ait parfois un problème étrange (d’où mon désir d’essayer ch-Ruby quand j’en ai la chance). Je ne toucherais pas le système Ruby, car d'autres choses pourraient en dépendre.

J'ajouterais que j'ai également compilé plusieurs fois mon propre Ruby), et utiliser l'article de Hivelogic (comme Dave Everitt l'a suggéré) est une bonne idée si vous suivez cette voie.

0
iain