Как я обновляю интерпретаторы Ruby с RVM?

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

Я нашел только один путь: rvm install 1.9.2-rc1 && rvm remove 1.9.2-preview1, но мои драгоценные камни потеряны. Я могу обновить время ответвлений ко времени? Я не нашел подсказок в документации.

57
задан the Tin Man 16 May 2012 в 18:27
поделиться

1 ответ

[Edit: rvm has a new command to upgrade - you likely want to use the answer by andy318]

AFAIK, на данный момент нет автоматического способа сделать это, но что-то вроде этого позволит вам сохранить ваши драгоценные камни:

 rvm use 1.9.2-preview1
 rvm gemset export
 rvm install 1.9.2-rc1
 rvm use 1.9.2-rc1
 rvm gemset import
 rvm remove 1.9.2-preview1

Теперь, для автоматизации обновлений, вам нужно будет обнаружить изменения версии, это легко, поскольку вы можете просто использовать возвращаемое значение rvm use 1. 9.2. Выяснение новой версии (1.9.2-rc1) не требуется, так как она псевдонимна как 1.9.2. Фокус в том, чтобы найти последнюю установленную версию 1.9.2. Вы можете сделать что-то вроде этого в задании cron:

# make sure you source rvm first
rvm update --head
rvm reload
if [ ! rvm use 1.9.2 ]; then
  for ruby_version in `rvm list strings`; do
    # find the latest version of 1.9.2
    case $ruby_version in
      ruby-1.9.2-*) latest192=$ruby_version;;
    esac
  done
  rvm use $latest192
  rvm gemset export 192.gems
  rvm install 1.9.2
  rvm use 1.9.2
  rvm gemset import 192
  rvm remove $latest192
fi

Не пробовал, но у меня есть похожий код в моем скрипте обновления. Я также добавил gem update и другие вещи.

Не стесняйтесь посещать IRC-канал #rvm на Freenode.

25
ответ дан 24 November 2019 в 19:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: