如何在 Debian 测试中安装 mono 3?

How to install mono 3 on Debian testing?

我想在我的 Debian Liunx(测试)机器上编译 Unreal Engine,它需要安装依赖于单声道的 monolibmono-corlib4.0-cil -版本 3 中的运行时。

但是,在我的 Debian 机器上,我安装了版本 4 和 libmono-corlib4.5-cil(4.5 而不是 4.0)的单声道。所以我尝试通过

安装该特定版本
sudo apt-get install libmono-corlib4.0-cil

然而,这给了我:

libmono-corlib4.0-cil : 取决于:mono-runtime (< 3.2.9) 但要安装 4.2.1.102+dfsg2-8

我可以在当前安装的版本 4 的同时安装版本 3 中的 mono-runtime 吗?如果可以,如何安装?

是的,您可以,而且您不需要做任何特别的事情。事实上,通常的 Debian 和 Ubuntu 存储库通常每个软件包都有多个版本(来自 oldstable/stable/testing/unstabledapper/hardy/lucid/maverick/natty)。这些发行版在每个版本的索引文件(Packages 文件)中只有一个包,但您不必照做。

当然,apt-get install myapp只会安装最新版本(除非另有配置)。你可以运行 apt-get install myapp=1.42强制安装1.42版本。

警告:如果所有版本都具有相同的软件包名称,则您不能同时安装多个版本。如果这很重要,请给每个版本一个不同的包名称:myapp-1.42myapp-1.43 等。Debian 和 Ubuntu 对库的主要版本执行此操作,如果您可能需要多个库你有与不同库链接的可执行文件(例如 libcap1libcap2),以及一些其他包,如内核。

我使用稳定版 Debian 中的软件包来构建 UE。

为了从稳定版安装 libmono-corlib4.0-cil

  1. 将稳定的软件包存储库添加到您的 /etc/apt/sources.list
  2. 运行 sudo apt-get update
  3. 如果没有aptitude,请安装
  4. 运行 sudo aptitude -t stable install libmono-corlib4.0-cil

如果你有一些较新的包然后 libmono-corlib4.0-cil 需要,aptitude 会报告错误并询问你该怎么做。在其中一种解决方案中,它会建议将这些软件包降级到适当的版本。使用该解决方案,您将安装 libmono-corlib4.0-cil

您还可以使用 UE 源编辑目录中的文件 Engine/Build/BatchFiles/Linux/Setup.sh 并替换行(应该是第 78 行)

sudo apt-get install -y $DEP

sudo aptitude -t stable install $DEP

然后重新运行 Setup.sh 脚本。这可能会帮助您避免 UE 所需的其他包出现类似问题。

可能有一种方法可以用 apt-get 完成所有事情,但我不知道。

恐怕这种方式不会让你拥有两个版本的单运行时