Как обновить версию Ruby версии 2.0.0 до последней версии в Mac OSX Yosemite?

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

Ответ 1

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

curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable

Когда это будет завершено, вам нужно перезапустить ваш терминал, чтобы команда rvm заработала.

Теперь запустите rvm list known

Это показывает список версий рубина.

Теперь запустите rvm install ruby-2.4.2

Если вы ruby -v в терминале, вы должны увидеть ruby 2.4.2.

Если он все еще показывает вам ruby 2.0. , запустите rvm use ruby-2.4.2 --default.

Ответ 2

Brew только решение

Update:

Из комментариев (kudos к Максиму Лузику), я не тестировал, но выглядел как более элегантное решение:

После установки ruby ​​через brew выполните следующую команду для обновления ссылок на последнюю рубиновую установку: brew link --overwrite ruby

Оригинальный ответ:

Позднее стороне, но с использованием brew достаточно. Не нужно устанавливать rvm и для меня это просто сложные вещи.

В brew install ruby вы фактически устанавливаете последнюю версию (в настоящее время v2.4.0). Однако сначала ваш путь находит 2.0.0. Чтобы избежать этого, просто измените приоритет (источник). Я сделал это, изменив ~/.profile и установив:

export PATH=/usr/local/bin:$PATH

После этого я обнаружил, что gem-накопитель все еще использует версию 2.0.0, просто установите его еще раз: gem install bundler

Ответ 3

Я рекомендую rbenv * https://github.com/rbenv/rbenv

* Если это соответствует вашим критериям: https://github.com/rbenv/rbenv/wiki/Why-rbenv?:

rbenv делает...

  • Предоставьте поддержку для указания версий Ruby для приложений.
  • Позволяет изменить глобальную версию Ruby для каждого пользователя.
  • Разрешить переопределять версию Ruby с помощью переменной среды.

В отличие от RVM, rbenv не...

  • Нужно загрузиться в вашу оболочку. Вместо этого подход rbenv shim работает, добавив каталог в ваш $PATH.
  • Переопределить команды оболочки, например cd, или потребовать приглашения.. Это опасно и подвержено ошибкам.
  • У вас есть файл конфигурации. Не нужно ничего настраивать, кроме той версии Ruby, которую вы хотите использовать.
  • Установить Ruby. Вы можете самостоятельно создавать и устанавливать Ruby или использовать ruby-build для автоматизации процесс.
  • Управление gemset. Bundler - лучший способ управлять зависимостями приложений. Если у вас есть проекты, которые еще не используя Bundler, вы можете установить rbenv-gemset плагин.
  • Требовать внесение изменений в библиотеки Ruby для совместимости. Простота rbenv означает, что при использовании $PATH ничего else должен знать об этом.

Установка

Установить Homebrew http://brew.sh

Тогда:

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

# Add rbenv to bash so that it loads every time you open a terminal
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile

UPDATE
Еще один шаг после brew install rbenv Запустите rbenv init и добавьте одну строку в .bash_profile, как она заявляет. После этого повторно открыть окно терминала [...] SGI 30 сен в 12:01 - https://stackoverflow.com/users/119770Забастовкa >

$ rbenv install --list
Available versions:
 1.8.5-p113
 1.8.5-p114
 […]
 2.3.1
 2.4.0-dev
 jruby-1.5.6
 […]
$ rbenv install 2.3.1
[…]

Установите глобальную версию:

$ rbenv global 2.3.1
$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

Задайте локальную версию вашего репо, добавив .ruby-version в ваш корневой каталог репо:

$ cd ~/whatevs/projects/new_repo
$ echo "2.3.1" > .ruby-version

Для MacOS посетите ссылку

Ответ 4

Открыть терминал:

sudo gem update --system 

Это работает!

Ответ 5

Вы можете указать последнюю версию ruby, посмотрев https://www.ruby-lang.org/en/downloads/

  • Извлеките последнюю версию:

    curl -sSL https://get.rvm.io | bash -s stable --ruby

  • Установите его:

    rvm install 2.2

  • Используйте его по умолчанию:

    rvm use 2.2 --default

Или запустите последнюю команду из ruby:

rvm install ruby --latest
rvm use 2.2 --default

Ответ 6

Быстрый способ обновить ruby до v2. 4+

brew upgrade ruby

или же

sudo gem update --system 

Ответ 7

Если у вас установлены Mac OS и Brew вы можете попробовать следующую команду:

brew upgrade ruby

Ответ 8

В случае, если кто-то получает ту же ошибку, что и я: "Ошибка установки требований со статусом: 1." здесь, что делать:

Установите Homebrew (по какой-то причине может не работать автоматически) с помощью этой команды:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Затем перейдите к установке rvm снова, используя

curl -sSL https://get.rvm.io | bash -s stable --ruby

Закройте и снова откройте терминал, а затем:

rvm install 2.2
rvm use 2.2 --default

Ответ 9

В терминале: rvm gemset use global

Ответ 10

Самый простой способ - это ввести следующую команду в терминал:

sudo gem update --system

Вы можете добавить флаг --no-document, если вы не хотите загружать документацию. Вот пример вывода после запуска команды:

sudo gem update --system
Password:
Updating rubygems-update
Fetching: rubygems-update-2.6.8.gem (100%)
Successfully installed rubygems-update-2.6.8
Parsing documentation for rubygems-update-2.6.8
Installing ri documentation for rubygems-update-2.6.8
Installing darkfish documentation for rubygems-update-2.6.8
Installing RubyGems 2.6.8
RubyGems 2.6.8 installed
Parsing documentation for rubygems-2.6.8
Installing ri documentation for rubygems-2.6.8

------------------------------------------------------------------------------

RubyGems installed the following executables:
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/gem

Ruby Interactive (ri) documentation was installed. ri is kind of like man 
pages for ruby libraries. You may access it like this:
  ri Classname
  ri Classname.class_method
  ri Classname#instance_method