две версии ruby ​​установлены, как это исправить? - PullRequest
1 голос
/ 07 марта 2011

Я обнаружил, что на OSX 10.6.2 установлены две версии ruby. Как я могу удалить старую версию и убедиться, что все в порядке, указать путь к другой?

bash-3.2$  /usr/local/bin/ruby -v 
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.7.0]

bash-3.2$ /usr/bin/ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]


bash-3.2$ $PATH
bash: /usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec: No such file or directory

bash-3.2$ whereis ruby
/usr/bin/ruby

Ответы [ 3 ]

3 голосов
/ 07 марта 2011

Версия Ruby в /usr/bin является установленной системой версией, и ее следует оставить на месте.

Версию, установленную в /usr/local/bin, вероятно, можно безопасно удалить.Был ли он установлен с помощью менеджера пакетов (например, MacPorts, Homebrew?).Если это так, удалите его с помощью менеджера пакетов.

Если вы скомпилировали и установили его вручную, вы можете попробовать удалить двоичные файлы из /usr/local/bin, но у вас могут остаться гемы и другие файлы (скорее всего, в/usr/local/lib/ruby.)

Кроме того, вы можете оставить их на месте и управлять своей средой Ruby через RVM: http://rvm.beginrescueend.com/

1 голос
/ 07 марта 2011

Вы должны найти Ruby, который вы активно используете, с which ruby, а не whereis ruby.Мой whereis ruby выводит /usr/bin/ruby, но which ruby дает /Users/BinaryMuse/.rvm/rubies/ruby-1.9.2-p136/bin/ruby, потому что я управляю своими версиями Ruby с помощью RVM.Поскольку /usr/local/bin является первым в вашей переменной PATH, which ruby, вероятно, вернет /usr/local/bin/ruby, что, по-видимому, является тем, что вы хотите.Быстрый ruby -v также может подтвердить это.

После всего этого я рекомендую использовать RVM для управления версией Ruby, а также то, что RVM называет гемсетами, что позволяет вам иметь«ведра» драгоценных камней, которые вы можете использовать по одному.Это довольно мощный и чрезвычайно полезный инструмент.

1 голос
/ 07 марта 2011

Вам не нужно удалять старую версию.В качестве альтернативы вы можете использовать псевдоним как и сохранить его в файле ~ / .profile вашего каталога OSX.

alias ruby ​​= ""

Это должно вызвать ruby ​​из соответствующего каталогачто вы хотите.

В качестве альтернативы вы можете использовать символическую ссылку, как предлагает этот пост здесь Как удалить Ruby из / usr / local? .Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...