web-dev-qa-db-fra.com

Pourquoi Mac OS X est-il livré avec Ruby / rails?

Pourquoi Mac OS X est-il fourni avec Ruby et Ruby on Rails pre-installed? Puis-je mettre à jour mon Ruby, Rails ou Gem versions en toute sécurité sans quelque chose cracher le mannequin?

43
Adam Harte

Comme d'autres l'ont noté, OS X est livré avec divers packages open source préinstallés. Bien que cela puisse être pratique, les packages ne sont souvent mis à jour que vers de nouvelles versions dans le cadre d'une version majeure d'OS X (comme 10.5 à 10.6). De plus, certains packages sont utilisés ailleurs par d'autres parties d'OS X et il n'y a aucun moyen facile de savoir lesquels. En général, Apple suppose (et vous devriez aussi) que tout sous /System/Library et /usr/, à l'exception de /usr/local/, fait partie d'OS X et est administré par Apple. Vous ne devez pas tenter de supprimer ou de modifier des fichiers dans ces hiérarchies. Cela inclut à peu près tous les packages open source, y compris Ruby.

Au lieu de cela, pour mettre à niveau un package existant, la bonne approche consiste à installer une nouvelle version dans un emplacement distinct (par exemple, /usr/local/) et appeler la nouvelle version par une référence de chemin absolu (/usr/local/bin/Ruby) ou en manipulant la variable d'environnement Shell PATH, si nécessaire. /usr/local/ est souvent utilisé si vous installez directement depuis la source. Beaucoup de gens préfèrent utiliser l'un des distributeurs de packages open source tiers, tels que MacPorts , Fink , ou Homebrew , chacun ayant son propre gestionnaire de packages et emplacements d'installation.

65
Ned Deily

Non, le système d'exploitation n'utilise pas, c'est juste que Apple veut rendre ses produits un peu plus attrayants pour les développeurs. (Il y a aussi Python préinstallé avec quelques autres paquets).

Vous pouvez mettre à jour vos Ruby, Rails, Gems en toute sécurité mais la version par défaut Ruby est un peu dépassée. Vérifiez RVM pour pouvoir installer différents Rubis dans votre système

8
PanosJee

Considérez Rubystack si vous voulez jouer avec des environnements plus à jour sans interférer avec les versions existantes. Avertissement, je suis l'un des développeurs de RubyStack. Il est disponible gratuitement sous la licence open source Apache 2.0.

1
Daniel Lopez