Подтвердить что ты не робот

Ruby на Mac OSX через Mac-порты

Я новичок как в Ruby, так и в Mac OSX, хотя у меня довольно много опыта работы с командами Unix. Я только что установил Ruby 1.9 с помощью команды MacPorts (порт install ruby19). Затем мне нужно было найти находку из корня, чтобы выяснить, куда он пошел, который оказался:/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, а затем указать Current to 1.9? (Я бы также переименовал или скопировал исполняемые файлы: ruby1.9 в ruby, irb1.9 в irb и т.д.) Или я должен просто сдуть ссылку /usr/bin/ruby ​​(и/usr/bin/irb, и т.д.) и создать новые, указывающие на версию MacPorts?

4b9b3361

Ответ 1

Мой совет:

$ port uninstall ruby1.9

Затем выполните следующие действия: https://rvm.io/rvm/install/

Тогда:

$ rvm install 1.9.2
$ rvm --default 1.9.2

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

Ответ 2

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

$sudo port select --set ruby ruby19

Ответ 3

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

sudo port install ruby19 +nosuffix

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

Ответ 4

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

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

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

cd /opt/local/bin
sudo ln -s ruby1.9 ruby

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

Удаление рубиновой версии 1.8:
sudo port удалить рубин
Установите ruby ​​версию 1.9:
sudo port install ruby19
Повторно открыть терминал