Apt on WSL2 的 Ubuntu 版本不包括最新版本的 ruby-build
Posted
技术标签:
【中文标题】Apt on WSL2 的 Ubuntu 版本不包括最新版本的 ruby-build【英文标题】:Apt on WSL2's version of Ubuntu doesn't include latest version of ruby-build 【发布时间】:2021-08-03 19:22:40 【问题描述】:我安装了 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,但ruby-build
没有:
...
2.4.0-rc1
2.4.0
2.4.1
2.5.0-dev
jruby-1.5.6
jruby-1.6.3
...
我更新了apt
:
$ 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 Release Cycle)。 “偶数年,四月/春季”(例如 20.04 或 22.04)版本是长期支持版本,旨在提供稳定、经过验证的软件包,Canonical 将支持 5 年。其他 3 个临时版本(例如 20.10、21.04、21.10)可能将软件包更新到更新的版本以进行测试。
也就是说,Canonical 仅将 Ubuntu 的 LTS 版本放在 WSL 的 Microsoft Store 中。临时版本是possible to upgrade。请注意,您使用的是“不太稳定”的版本。您可能希望在单独的安装中执行此操作,并且仍然保留您的 20.04 版本。如果是这样,请参阅this answer 了解我关于如何执行此操作的文章。仍然不能保证 21.04 包含更高版本的 ruby-build。它显然不会在 5 月 10 日发布。我还没有查看包列表以查看 21.04 中的 ruby-build 版本。
无论如何,我会提出一个不同的选择。您提到您的 MacOS 版本是最新的,我假设您使用 Homebrew (brew
) 安装它。 ruby-build 维护者负责更新该软件包并确保可以通过 Homebrew 获得最新版本。如果您想在 WSL 上安装和使用 Homebrew,请can as well。我自己没有这样做,但从 Homebrew 文档看来完全有可能。不过,我想我会先从 Ubuntu 存储库中清除您安装的 ruby-build 软件包,以避免冲突。
【讨论】:
以上是关于Apt on WSL2 的 Ubuntu 版本不包括最新版本的 ruby-build的主要内容,如果未能解决你的问题,请参考以下文章