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

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

17 ответов

Решение

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

\curl -sSL https://get.rvm.io | 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,

Варить только решение

Обновить:

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

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

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

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

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

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

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

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

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

rbenv делает...

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

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

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

МОНТАЖ

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

Затем:

$ brew update
$ brew установить rbenv
$ brew install rbenv ruby-build

# Добавьте rbenv в bash, чтобы он загружался каждый раз, когда вы открываете терминал
echo 'если какой rbenv > /dev/null; затем eval "$(rbenv init -)"; fi' >> ~/.bash_profile
источник ~ /.bash_profile

ОБНОВИТЬ
Есть еще один шаг после brew install rbenv Бежать rbenv init и добавить одну строку в .bash_profile как говорится. После этого снова откройте окно терминала […] SGI 30 сентября в 12:01 - SGI

$ rbenv install --list
Доступные версии:
 1.8.5-P113
 1.8.5-P114
 [...]
 2.3.1
 2.4.0-DEV
 JRuby-1.5.6
 [...]
$ rbenv установить 2.3.1
[...]

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

$ rbenv global 2.3.1
$ ruby ​​-v
ruby 2.3.1p112 (ревизия 2016-04-26, 54768) [x86_64-darwin15]

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

$ cd ~ / whatevs / projects / new_repo
$ echo "2.3.1">.ruby-версия

Для MacOS перейдите по этой ссылке

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

sudo gem update --system 

Оно работает!

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

brew upgrade ruby

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

  1. Получить последнюю версию:

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

  2. Установите это:

    rvm install 2.2

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

    rvm use 2.2 --default

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

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

✅Рабочий метод 2023:

Обновите с помощью Homebrew:

      brew upgrade ruby
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc
brew link --overwrite ruby

Затем перезапустите терминал (убедитесь, что вы завершили все экземпляры, закройте и снова откройте).

Затемruby -vчтобы проверить, правильно ли оно связано.


Рекомендуемое продолжение:

Это не обязательно, но после обновления Ruby вы можете запустить следующую команду для обновления файлов драгоценных камней:

      gem update --system 3.4.2

⚠️ Вышеуказанная версия может быть изменена при обновлении установки Ruby. Пожалуйста, используйте правильную версию, указанную после установки Ruby.

brew install rbenv ruby-build

Добавьте rbenv в bash, чтобы он загружался каждый раз, когда вы открываете терминал

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile

source ~/.bash_profile

Установить Ruby

rbenv install 2.6.5

rbenv global 2.6.5

ruby -v

Ссылка на исходную страницу

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

brew upgrade ruby

В случае, если кто-то получит ту же ошибку, я сделал: "Установка требований завершилась со статусом: 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

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

Если вы используете Mac, используйте rvm для установки вашей конкретной версии ruby. См. Https://owanateamachree.medium.com/how-to-install-ruby-using-ruby-version-manager-rvm-on-macos-mojave-ab53f6d8d4ec

Убедитесь, что вы выполнили все шаги. Это сработало для меня.

В итоге я использовал шаги, описанные ниже, из-за React Native 0.70 и macOS Monterrey.

      $ brew install ruby

Редактировать

      open -e ~/.zshrc

Установите переменную окружения $PATH. Добавьте это в конец файла ~/.zshrc. На Mac Intel:

      if [ -d "/usr/local/opt/ruby/bin" ]; then
  export PATH=/usr/local/opt/ruby/bin:$PATH
  export PATH=`gem environment gemdir`/bin:$PATH
  eval "$(rbenv init -)"
fi

Яблочный кремний

      if [ -d "/opt/homebrew/opt/ruby/bin" ]; then
  export PATH=/opt/homebrew/opt/ruby/bin:$PATH
  export PATH=`gem environment gemdir`/bin:$PATH
  eval "$(rbenv init -)"
fi

Не хотите, чтобы brew обновил вашу версию?

      $ brew pin ruby

вы можете использовать шаги, упомянутые в https://snyk.io/blog/how-to-install-ruby-in-mac-os/ .

У меня отлично сработало, macOS Ventura 13.3.1 (a) (22E772610a)

      sudo gem update --system

и просто перезагрузить ПК

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

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
      brew link --overwrite --force ruby
Другие вопросы по тегам