我想解决的问题是我想从源代码安装应用程序。
当我尝试安装该应用时,它说它需要valac-0.16
,但当我尝试从终端安装valac
时,它只安装旧版本valac-0.14
。
然后我尝试下载valac-0.16
的新版本并尝试安装它,但它仍然显示不满足依赖性。
如何安装不在回购中的应用程序的新版本?
答案 0 :(得分:1)
如果我正确理解了您的问题,您希望以某种方式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
包允许您轻松创建这样的虚拟包。