Я установил RVM с несколькими версиями интерпретаторов Ruby некоторое время назад. Как я могу для обновления его, потому что новые версии уже выпущены?
Я нашел только один путь: rvm install 1.9.2-rc1 && rvm remove 1.9.2-preview1
, но мои драгоценные камни потеряны. Я могу обновить время ответвлений ко времени? Я не нашел подсказок в документации.
[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.