Apt в версии Ubuntu WSL2 не включает последнюю версию ruby-build
Я установил WSL2 и Ubuntu 20.04, включая Ruby 2.7.0:
$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
Я хотел бы установить Ruby 3.0.1, но его нет:
...
2.4.0-rc1
2.4.0
2.4.1
2.5.0-dev
jruby-1.5.6
jruby-1.6.3
...
Я обновил:
$ sudo apt update
Hit:1 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Ign:3 https://dl.bintray.com/sbt/debian InRelease
Get:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:5 https://dl.bintray.com/sbt/debian Release [815 B]
Get:7 http://archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [982 kB]
Get:9 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [774 kB]
Fetched 1971 kB in 1s (1379 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Но версия
ruby-build
еще старый:
$ apt show ruby-build
Package: ruby-build
Version: 20170726-1
Priority: optional
...
Моя машина OSX:
$ ruby-build --version
ruby-build 20210510
Это проблема с Ubuntu,
apt
, или что-то другое? Как мне это исправить?
1 ответ
Выпуски Ubuntu являются либо «долгосрочной поддержкой» (LTS), либо «промежуточными выпусками» (см. « Цикл выпуска Ubuntu» ). «Четный год, апрель / весна» (например, 20.04 или 22.04) - это выпуск с долгосрочной поддержкой, который разработан для обеспечения стабильных, проверенных программных пакетов, которые будут поддерживаться Canonical в течение 5 лет. Остальные 3 промежуточных выпуска между ними (например, 20.10, 21.04, 21.10) могут обновлять пакеты до более новых выпусков для тестирования.
Тем не менее, Canonical размещает только LTS-выпуски Ubuntu в Microsoft Store для WSL. Это можно обновить до временного освобождения. Просто имейте в виду, что вы используете «менее стабильную» версию. Вы можете сделать это при отдельной установке и при этом сохранить версию 20.04. Если да, см. Этот ответ для моей статьи о том, как это сделать. По-прежнему нет гарантии, что 21.04 будет включать более позднюю сборку ruby. Очевидно, у него не будет релиза от 10 мая. Я не проверял список пакетов, чтобы узнать, какая версия сборки ruby находится в 21.04.
В любом случае, я бы предложил другую альтернативу. Вы упомянули, что ваша версия MacOS самая последняя, и я предполагаю, что вы установили ее с помощью Homebrew (
brew
). Сопровождающие ruby-build - это те, кто обновляет этот пакет и следит за тем, чтобы последняя версия была доступна через Homebrew. Если вы хотите установить и использовать Homebrew на WSL, вы тоже можете это сделать . Я сам этого не делал, но это кажется вполне возможным из документа Homebrew. Я думаю, что сначала я бы очистил установленный вами пакет ruby-build из репозиториев Ubuntu, чтобы избежать конфликтов.