我要解决的问题是我想从源安装一个应用程序。
当我尝试安装该应用程序时,它说它需要valac-0.16
,但是当我尝试从终端安装valac
时,它仅安装较旧的版本valac-0.14
。然后,我尝试下载新版本的valac-0.16
并尝试安装它,但仍然表明依赖项不满足。
如何安装不在存储库中的应用程序的新版本?
如果我正确理解您的问题,则要安装一个包裹,该软件包以某种方式Depends: valac (>= 0.16)
,尽管您下载并安装了valac
上游源,但仍拒绝安装。
如果您有一个软件包,该软件包声明无法满足的依赖关系,则dpkg
将拒绝安装它,直到dpkg
知道满足依赖关系。有三个可能的修复;
-
dpkg --force-depends-version -i package
将使dpkg
接受valac
0.14,即使package
表示它需要> = 0.16。更笼统地,dpkg --force-help
包含有关如何使dpkg
以各种有趣的,有时有用的方式在脚上射击的各种提示。如果您不直接使用dpkg
,则有多种方法可以通过apt-get
,aptitude
等通过这些选项。 -
如果
valac
具有debian
目录,或者您不知道如何从下载的0.16来源创建一个软件包,只需构建并安装deb
软件包。debuild -us -uc -rfakeroot -b
如果在那里,则应全部需要(最值得注意的是debian/rules
)。另外,您也许可以将apt-get source valac
的包装拼凑在一起,并在0.14包装源树中安装0.16上游源,然后重建。 -
如果您有一个可以满足依赖关系的软件包的本地安装,但是
dpkg
不知道它,则可以创建一个虚拟软件包并安装它;然后将满足dpkg
。equivs
软件包允许您轻松创建一个这样的虚拟包。