Почему Mac OS X поставляется с рубинами и рубинами на предустановленных рельсах? Действительно ли ОС использует его вообще? Могу ли я обновить свои версии Ruby, Rails или Gem без каких-либо плюнов манекена?
Почему Mac OS X поставляется с рубинами/рельсами?
Ответ 1
Как отмечали другие, OS X поставляется с предустановленными пакетами с открытым исходным кодом. Хотя это может быть приятным удобством, пакеты часто обновляются только в новых версиях как часть основной версии OS X (например, от 10,5 до 10,6). Кроме того, некоторые пакеты используются в других частях OS X, и нет простого способа узнать, какие. В общем, Apple предполагает (и вы тоже должны), что все под /System/Library
и /usr/
, кроме /usr/local/
, является частью OS X и управляется Apple. Вам не следует пытаться удалять или изменять файлы в этих иерархиях. Это включает почти все пакеты с открытым исходным кодом, включая Ruby
.
Вместо этого, чтобы обновить существующий пакет, правильным подходом является установка новой версии в отдельном месте (например, /usr/local/
) и вызов новой версии по абсолютной ссылке пути (/usr/local/bin/ruby
) или управление оболочкой PATH
переменная среды, если это необходимо. /usr/local/
часто используется при установке непосредственно из источника. Многие люди предпочитают использовать один из сторонних дистрибьюторов пакетов с открытым исходным кодом, например MacPorts, Fink, или Homebrew, каждый из которых имеет свой собственный менеджер пакетов и места установки.
Ответ 2
Нет, OS не используется, просто Apple хочет сделать ее продукты более привлекательными для разработчиков. (там также предустановлен Python вместе с некоторыми другими пакетами).
Вы можете безопасно обновлять свои Ruby, Rails, Gems, но версия Ruby по умолчанию немного устарела. Проверьте RVM, чтобы вы могли установить различные рубины в вашей системе.
Ответ 3
Рассмотрим Rubystack, если вы хотите играть с более современными средами, не мешая существующим версиям. Отказ от ответственности, я один из разработчиков RubyStack. Он свободно доступен под лицензией Apache 2.0 с открытым исходным кодом.