Как я могу переключиться на ruby ​​1.9.3, установленный с помощью Homebrew? - PullRequest
75 голосов
/ 04 января 2012

Я установил ruby ​​1.9.3, используя hombrew

Brew Install Ruby

Но по умолчанию 1.8.7 все еще используется. Как я могу переключить osx для использования 1.9.3 в качестве ruby ​​по умолчанию?

Ответы [ 7 ]

87 голосов
/ 04 января 2012

Я предлагаю вам взглянуть на rvm . Затем вы можете установить его по умолчанию с помощью rvm use 1.9.3 --default

Но если вы довольны своей домашней версией.

Затем просто измените приоритет каталогов в PATH

Вот мой / etc / paths

# homebrews should always take precedence
/usr/local/bin

# the default stack
/usr/bin
/bin
/usr/sbin
/sbin

Это обычно важно для homebrew, иначе вместо версии brew будет использоваться системная версия git, ruby, pg_admin, ....

если вы скажете which -a ruby, вы увидите все установленные рубины и приоритет в PATH

например.

$ which -a ruby
/Users/matthew/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/Users/matthew/.rvm/bin/ruby
/usr/bin/ruby


ОБНОВЛЕНИЕ: теперь я не думаю, что вы должны изменить /etc/paths

Вместо этого вам нужно проверить, какой из .profile, .bashrc или .bash_login загружается в вашу оболочку, и просто добавить /usr/local/bin к своему пути.

Для меня у меня есть только .profile. Вы можете создать этот файл, если ни один из этих файлов уже не существует в вашем домашнем каталоге.

# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
52 голосов
/ 24 мая 2016

КОРОТКИЙ ОТВЕТ:

после установки ruby ​​через homebrew просто сделайте это:

brew link --overwrite ruby

и перезапустите или снова откройте свой терминал


ДОЛГО ОТВЕТ

Итак, я сделал обычную установку ruby, используя homebrew

brew install ruby

, который установил нормально, НО он все еще использовал системный рубин по умолчанию. что я проверял, делая:

which ruby 
#/usr/bin/ruby

Итак, согласно предложению Мэтью Руди, я проверил порядок моих / etc / paths, и все было хорошо.

Тогда я решил сделать:

which -a ruby
#/usr/bin/ruby
#usr/local/bin/ruby

так что ничего не сломалось как таковое. попытался переустановить ruby ​​снова, используя метод homebrew, и затем я нашел его.

Доморощенный упоминается:

Warning: ruby-2.3.1 already installed, it's just not linked

так надо было сделать:

brew link --overwrite ruby
43 голосов
/ 21 октября 2013

Если вы хотите использовать homebrew для установки 1.9.3, вы можете выполнить следующие шаги:

$ brew update
$ brew install rbenv
$ brew install ruby-build

После установки rbenv и ruby-build вы можете запустить следующую команду, чтобы получитьRuby 1.9.3 установлен.

$ rbenv install 1.9.3-p125

Теперь, если вы хотите использовать 1.9.3 по умолчанию, вы можете запустить следующую команду:

$ rbenv global 1.9.3-p125
5 голосов
/ 29 мая 2016

У меня была похожая ситуация.Я установил ruby, используя Homebrew.which -a ruby дал мне следующий вывод:

#usr/local/bin/ruby
#/usr/bin/ruby

Это означает, что должна была использоваться только что установленная версия, но ruby --version все равно вернула старую версию системы.Cmd + Q) и после перезагрузки ruby --version вернул правильную версию.Поэтому убедитесь, что вы перезапускаете терминал после установки, прежде чем пытаться использовать другие (потенциально ненужные) исправления.

1 голос
/ 22 марта 2018

КРАТКИЕ СВЕДЕНИЯ: Запишите, для чего вы хотите изменить его.

Если вы работаете в OS X и пытаетесь использовать Ruby для чего-то вроде Jekyll, не используйте homebrew, потому что это то, что Apple использует для Ruby, и это может быть не очень хорошо, если выне уверен, что ты делаешь.Вместо этого используйте rbenv или RVM.

МЕНЬШЕ: Я пытался перейти с версии по умолчанию на обновленную версию (с 2.0), чтобы использовать Jekyll, потому что для этого требовалась версия Ruby 2.2.5и выше.Я обновил его, и версия 2.5 была установлена, но когда я проверил "ruby -v", он все еще был 2.0.Как только я наконец-то смог изменить версию по умолчанию, я не смог установить нужный мне пакет, потому что у меня не было разрешения на запись.Например, если вы столкнулись с чем-то вроде этого, то, вероятно, у вас возникла такая же проблема

$ gem install jekyll bundler
ERROR:  While executing gem ... (Gem::FilePermissionError)    
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
0 голосов
/ 29 марта 2017

В OSX вы можете изменить путь, используя:

sudo nano / etc / paths

А затем добавьте путь или измените порядок.

0 голосов
/ 12 января 2016

Точно так же, как альтернативный подход для всех, кто ищет ответ на этот вопрос - вы можете установить псевдоним в своем .bash_profile, например,

ruby="/usr/local/bin/ruby"

, вот как я обошел проблему

...