Macport跳过依赖

时间:2011-08-18 07:21:52

标签: macports

如果依赖项无法构建,是否可以安装端口?

我的意思是,我必须安装texlive,它需要很多依赖,而且那些(py26-libxml2)无法构建。有没有办法跳过它?

我知道这不安全,但我需要它,我不想用MacTex安装tex。

谢谢, 卢卡

2 个答案:

答案 0 :(得分:10)

在开始之前注意:删除依赖项可能会破坏构建,因此请准备好进行故障排除。当然不能保证成功。谷歌可能会帮助解决构建错误,但这只会到目前为止。也许你应该试着找出为什么py26-libxml2首先失败。

编辑依赖关系

看起来您可以编辑依赖关系列表。问题是您必须知道取决于py26-libxml2的内容。你可以用

port rdeps texlive

查看一个基本树,但每个端口只会出现一次,除非你使用--full,这需要texlive永远。

找到依赖项后,可以通过下载的Portfile在本地更改其依赖项。

sudo port edit PORTNAME

然后,您应该从depends_lib或depends_lib-append中删除依赖项。我不太了解这种格式......

您应该在编辑之前备份此文件。它的位置是通过

找到的
port file PORTNAME

编辑完成后,您可以再次运行rdeps以查看是否有任何其他依赖项使用您想要省略的依赖项。

答案 1 :(得分:1)

有时您可以安装端口变体而没有不必要的依赖性。

例如,假设我们要安装libsdl2_image,而不安装整个x11

port deps libsdl2_image以及进一步的port deps ...揭示了libgif取决于x11并具有+x11(和-x11,更多重要!)变体。

sudo port install giflib -x11并没有立即提供帮助,但产生了:

Error: Please use the same variants again, or run 'port clean giflib' first to remove the existing partially completed build.

下一步

sudo port clean giflib
sudo port install giflib -x11

做到了:现在sudo port install libsdl2_image尚未安装x11

And last,但并非最不重要:

  

来自:Ryan Schmidt:

     

如果端口存在错误的依存关系(或端口中存在任何其他错误),我们希望将该错误报告给维护者和/或在问题跟踪器中创建的错误,以便可以对其进行修复。