我知道这是一个常见的问题,并且我已经阅读了很多类似的帖子,但我仍然无法让它工作。
由于依赖地狱,我需要在我的 ubuntu linux(Yakkety Yak)系统上编译unison
版本ocaml
。Yakkety3.12
打包了ocaml 4.x
:
$ sudo apt policy ocaml
ocaml:
Installed: 4.02.3-6ubuntu2
Candidate: 4.02.3-6ubuntu2
Version table:
*** 4.02.3-6ubuntu2 500
500 http://de.archive.ubuntu.com/ubuntu yakkety/universe amd64 Packages
100 /var/lib/dpkg/status
因此,我的第一个挑战是从源安装以前的版本。现在,根据ubuntu 软件包,Precise (12.04) 与 一起打包ocaml 3.12
,并且我在 中添加了以下几行/etc/apt/sources.list
:
deb http://de.archive.ubuntu.com/ubuntu/ precise universe
deb http://de.archive.ubuntu.com/ubuntu/ precise-updates universe
并运行sudo apt update
但是,的输出sudo apt policy ocaml
没有改变,并且运行sudo apt install ocaml=3.12\*
返回
E: Version '3.12*' for 'ocaml' was not found
为什么我按照上述步骤操作后仍找不到此版本?
答案1
好的,看起来,这个ocaml
包是在除了我添加的两行之外的其他来源中。
最后,我取出原始/etc/apt/sources.list
文件,并将相同的文件附加到其中,但用yakkety
替换precise
。之后,和sudo apt update
,我就可以安装 了ocaml=3.12\*
。
我之前仍然需要安装其他软件包(ocaml-nox=3.12\*
,这又需要ocaml-base-nox=3.12\*
,等等),但最终我还是安装成功了。
我仍然认为一定有更简单的方法......