安装一个不在存储库中的新版本的应用程序,包括所有依赖项



我要解决的问题是我想从源安装一个应用程序。

当我尝试安装该应用程序时,它说它需要valac-0.16,但是当我尝试从终端安装valac时,它仅安装较旧的版本valac-0.14。然后,我尝试下载新版本的valac-0.16并尝试安装它,但仍然表明依赖项不满足。

如何安装不在存储库中的应用程序的新版本?

如果我正确理解您的问题,则要安装一个包裹,该软件包以某种方式Depends: valac (>= 0.16),尽管您下载并安装了valac上游源,但仍拒绝安装。

如果您有一个软件包,该软件包声明无法满足的依赖关系,则dpkg将拒绝安装它,直到dpkg知道满足依赖关系。有三个可能的修复;

  1. dpkg --force-depends-version -i package将使dpkg接受valac 0.14,即使package表示它需要> = 0.16。更笼统地,dpkg --force-help包含有关如何使dpkg以各种有趣的,有时有用的方式在脚上射击的各种提示。如果您不直接使用dpkg,则有多种方法可以通过apt-getaptitude等通过这些选项。

  2. 如果valac具有debian目录,或者您不知道如何从下载的0.16来源创建一个软件包,只需构建并安装deb软件包。debuild -us -uc -rfakeroot -b如果在那里,则应全部需要(最值得注意的是debian/rules)。另外,您也许可以将apt-get source valac的包装拼凑在一起,并在0.14包装源树中安装0.16上游源,然后重建。

  3. 如果您有一个可以满足依赖关系的软件包的本地安装,但是dpkg不知道它,则可以创建一个虚拟软件包并安装它;然后将满足dpkgequivs软件包允许您轻松创建一个这样的虚拟包。

最新更新