0

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

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

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

4

1 回答 1

1

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

如果您有一个声明了无法满足的依赖项的包,dpkg将拒绝安装它,直到dpkg知道该依赖项已满足。有三种可能的修复方法;

  1. dpkg --force-depends-version -i package即使声明它需要> = 0.16,也会dpkg接受0.14。更一般地说,包含有关如何以各种有趣且有时有用的方式使自己在脚上射击的各种提示。如果您不直接使用,可以通过、等传递这些选项。valacpackagedpkg --force-helpdpkgdpkgapt-getaptitude

  2. 如果valac有一个debian目录,或者您知道如何从您下载的 0.16 源代码创建一个包,则只需构建并安装一个deb包。 debuild -us -uc -rfakeroot -b如果碎片在那里(最值得注意的是,)应该是你所需要的debian/rules。或者,您可以将apt-get source valac0.14 包源代码树中的 0.16 上游源代码拼凑在一起,然后重新构建。

  3. 如果你有一个本地安装的包可以满足依赖,但dpkg不知道它,你可以创建一个虚拟包并安装它;那么dpkg就会满足。该equivs包允许您轻松创建一个像这样的虚拟包。

于 2012-11-22T10:53:24.793 回答