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, чтобы избежать конфликтов.

Другие вопросы по тегам