Ruby на Mac OSX через порты Mac - PullRequest
28 голосов
/ 12 августа 2010

Я новичок как в Ruby, так и в Mac OSX, хотя у меня достаточно опыта работы с командами Unix.Я только что установил Ruby 1.9 с помощью команды MacPorts (port install ruby19).Затем мне нужно было сделать поиск в root, чтобы выяснить, куда он пошел, что оказалось: /opt/local/var/macports/software/ruby19/1.9.1-p376_0/opt/local/bin/ruby1.9.

Текущая версия Ruby (1.8.6) запускается через / usr / bin / ruby, которая является символической ссылкой на /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby, где Current - это символическая ссылка на каталог с именем 1.8.

Я бы хотел сделать Ruby 1.9 своим стандартным (наряду со связанными инструментами, такими как irb), и хотя мне удастся это сделать, я бы хотелхотелось бы узнать, есть ли обычный способ.Должен ли я скопировать или связать путь MacPorts с /System/Library/Frameworks/Ruby.framework/Versions/1.9, а затем указать Текущий на 1.9?(Я бы также переименовал или скопировал исполняемые файлы: ruby1.9 в ruby, irb1.9 в irb и т. Д.) Или я должен просто удалить ссылку / usr / bin / ruby ​​(и / usr / bin / irb,и т.д.) и создавать новые, указывающие на версию MacPorts?

Ответы [ 7 ]

28 голосов
/ 10 апреля 2013

Вы можете легко использовать команду выбора порта в MacPorts 2.1.3

$sudo port select --set ruby ruby19
26 голосов
/ 12 августа 2010

Вместо этого установите вариант nosuffix:

sudo port install ruby19 +nosuffix

Ваша более новая версия ruby ​​теперь должна иметь приоритет над предустановленной.

25 голосов
/ 12 августа 2010

Мой совет:

$ port uninstall ruby1.9

Затем следуйте этому: https://rvm.io/rvm/install/

Затем:

$ rvm install 1.9.2
$ rvm --default 1.9.2

Вы можете даже rvm install macruby играть с Какао.

17 голосов
/ 24 января 2013

В самой последней версии macports (2.1.3 или выше) вы можете использовать команду port select.

port select --list ruby
sudo port select --set ruby ruby19

Для более ранних версий macports вы можете сделать символическую ссылку на пронумерованную версию ruby. Именно таким образом macports обычно обрабатывает переключение между различными версиями пакетов.

cd /opt/local/bin
sudo ln -s ruby1.9 ruby
4 голосов
/ 12 августа 2010

Я бы очень рекомендовал RVM . Это займет немного чтения, но после его установки вы можете установить ruby ​​с помощью rvm install 1.9 (или jruby, ree, 1.8 и т. Д.) И переключаться между ними с помощью rvm 1.9. Каждая версия ruby ​​также будет иметь свой собственный, полностью изолированный набор rubygems.

2 голосов
/ 16 июня 2013

Удаление ruby ​​версии 1.8:
Удаление порта sudo ruby ​​
Установка версии ruby ​​1.9:
Установка порта sudo ruby19
Открыть терминал

2 голосов
/ 12 августа 2010

Двоичный файл ruby1.9 должен быть установлен в /opt/local/bin;в противном случае вы, возможно, не активировали порт.

Самый простой способ сделать Ruby 1.9 корневым каталогом по умолчанию - создать псевдоним для ruby до ruby1.9.Если вы используете Bash, вы можете сделать это, поместив это в свой конфигурационный файл Bash:

alias ruby='/opt/local/bin/ruby1.9'
...