Начальные шаги по миграции с Ruby 2.7 на 3.0
В недавно вышедшем Ubuntu Linux 22.04 LTS Ruby был обновлён с версии 2.7 на 3.0. Если вы обновили систему на новую версию без переустановки, то ожидаемо ранее установленные gem перестали работать. В этой статье будут описаны начальные шаги по реанимации после обновления Ruby.
Шаг 1
Заново установите bundler
и jekyll
(если используете):
gem install bundler jekyll --user-install
Шаг 2
Обновите пути в .profile
:
if [ -d "$HOME/.local/share/gem/ruby/3.0.0" ] ; then
RUBY_PATH="$HOME/.local/share/gem/ruby/3.0.0"
export RUBY_PATH
GEM_HOME="$RUBY_PATH"
export GEM_HOME
PATH="$RUBY_PATH/bin:$PATH"
fi
И перезайдите в систему, чтобы переменные окружения обновились.
Шаг 3
Перейдите в каталог с вашим проектом на Ruby и установите заново все зависимости:
bundle install
Шаг 4
Для проектов на Jekyll придётся добавить зависимость от
webrick
, иначе просмотр сайта
будет невозможен из-за ошибки (webrick
из третьей версии Ruby был исключён)
(см. также
https://stackoverflow.com/questions/65989040/bundle-exec-jekyll-serve-cannot-load-such-file
и https://jekyllrb.com/docs/#instructions):
bundle add webrick
Шаг 5 (заключительный)
Удалите каталог ~/.local/share/gem/ruby/2.7.0
:
rm -r ~/.local/share/gem/ruby/2.7.0
Что дальше
Версия Ruby 3.0 принесла по сравнению с 2.7 много интересного и полезного. Подробнее можно почитать на странице выпуска.
(c) Симоненко Евгений, 2022