修复损坏的Macports

时间:2008-12-02 20:22:16

标签: macos osx-leopard macports

我刚试过(第一次,我可能会添加)

  

已安装端口升级

在Macports中,我恐怕会后悔:很多错误 - 特别是关于X11和Python。

这是关于python的典型错误消息:

  

--->激活python24 2.4.5_4 + darwin_9   错误:激活python24 2.4.5_4失败:   图像错误:/opt/local/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4已存在且不属于已注册的端口。无法激活端口python24。

我的问题:我应该期待一点麻烦吗?并且:有关修复这些错误的任何提示吗?

升级前我确实做过“同步”和“自更新”。

6 个答案:

答案 0 :(得分:15)

通常,当我的macports安装开始变得坚果时(通常是因为我搞砸了),我删除/ opt文件夹并重新安装。我想,我只是懒惰。从它的外观来看,您正在尝试在旧/现有文件夹上重新安装新端口。

你试过Porticus吗?它会很好地告诉您哪些端口已安装并处于活动状态。也许如果您停用了当前的python端口并安装了新端口,那么可能会让您再次移动。

答案 1 :(得分:10)

如果错误消息指示该文件存在于/ opt目录中并且不属于已注册的端口,那么您必须想知道它是如何到达那里的。也许是从以前的,可能是拙劣的安装中遗留下来的?

无论哪种方式,我都没有看到只是删除有问题的文件的危害(从它的外观,可能是整个/opt/local/Library/Frameworks/Python.framework/Versions/2.4目录)

一般来说,要解决此类问题,您应该联系港口维护人员,或者在macports邮件列表上询问。

答案 2 :(得分:6)

我最近也收到了此错误消息

[...] already exists and does not belong to a registered port

在我的情况下因为我试图使用Macports来安装Putty(以支持FireFTP)。 无论如何,在过去的一年里,我一直在Leopard上使用'fink'和apt-get,因为我对Debian / Ubuntu比较熟悉。所以,有足够的背景。

问题是,我有一个通过apt-get安装的库(expat),macports想要升级。但它是使用完全不同的竞争包管理器进行注册的。这就是这条信息对我意味着什么。说得通。 通过apt-get进行升级并没有让我获得足够高的版本,因此我们使用FORCE来进行升级。

对我来说, sudo port -d -f install expat 推动了升级,覆盖了apt版本,并让我继续前进。

这里希望它不会破坏Debian签出中的其他内容。

答案 3 :(得分:1)

清理/ opt / local并重新安装macports对我来说在雪豹上运行良好。

答案 4 :(得分:1)

我破坏了注册表问题。我只是尝试了“sudo port -d -f uninstall program”。程序引用了破坏注册表的程序。

答案 5 :(得分:0)

Mac OS X 10.4.11附带Python 2.4(不确定Leopard)。其路径为/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4,因此您可能根本不需要安装。