如果依赖项无法构建,是否可以安装端口?
我的意思是,我必须安装texlive,它需要很多依赖,而且那些(py26-libxml2)无法构建。有没有办法跳过它?
我知道这不安全,但我需要它,我不想用MacTex安装tex。
谢谢, 卢卡
答案 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:
如果端口存在错误的依存关系(或端口中存在任何其他错误),我们希望将该错误报告给维护者和/或在问题跟踪器中创建的错误,以便可以对其进行修复。