脚本需要 Ruby 版本大于或等于 1.9。我如何将其转换为 apt 命令?尝试了以下方法,无效:
% sudo apt-get install "ruby ( >= 1.9.1 )"
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ruby ( >
% sudo apt-get install "ruby>=1.9.1"
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ruby>
答案1
apt
不支持指定版本范围来安装软件包。您只能指定要安装的确切版本,或者忽略版本以让其自动决定。
要找出软件包的哪些版本可用,输出
apt policy PACKAGENAME
将会很有帮助,例如对于ruby
16.04:
ruby:
Installed: (none)
Candidate: 1:2.3.0+1
Version table:
1:2.3.0+1 500
500 http://ftp.uni-stuttgart.de/ubuntu xenial/main amd64 Packages
500 http://ftp.uni-stuttgart.de/ubuntu xenial/main i386 Packages
顺便说一下,上述版本对应于 Ruby 2.3。
因此在这个例子中,您可以安装ruby
让系统自动选择唯一可用的版本,或者您可以明确指定它为ruby=1:2.3.0+1
。
安装所需软件包的命令将是
sudo apt install PACKAGENAME
sudo apt install PACKAGENAME=VERSION
答案2
就我而言,apt satisfy
安装 python3 版本 greater-equal 3.9 是完美的。
sudo apt update
sudo apt satisfy "python3 (>= 3.9), python3-dev (>= 3.9)"
这也可以帮助解决破坏的依赖关系。