【问题标题】:Fixing broken Macports修复损坏的 Macports
【发布时间】:2010-09-25 00:26:32
【问题描述】:

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

已安装端口升级

在 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。

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

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

【问题讨论】:

  • 我之前一直在使用典型的“setup.py install”将软件包安装到 python 发行版,但我不明白为什么这会给出错误消息。

标签: macos osx-leopard macports


【解决方案1】:

我遇到了注册表问题。我只是尝试了“sudo port -d -f 卸载程序”。程序是指注册表损坏的程序。

【讨论】:

  • Mac OS X 没有注册表——至少不像 Windows 那样。你这是什么意思?
【解决方案2】:

我最近也收到了这个错误信息

[...] 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 结帐中的其他内容。

【讨论】:

  • 是的,即使出现此错误,-f 选项也会强制它激活(应该没问题,因为 MacPorts 可能会将文件放在那里,至少在我的情况下)。因此,只需使用 -f 再次运行该命令即可解决此问题。
【解决方案3】:

在雪豹上清理 /opt/local 并重新安装 macports 对我来说效果很好。

【讨论】:

    【解决方案4】:

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

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

    【讨论】:

    • 我希望不用重新安装就能逃脱惩罚——那里有很多东西。另一方面,清理可能会很好。没看过Porticus,去看看,谢谢。
    • 非常感谢。我遇到了 zlib 的问题(错误:端口激活失败:图像错误:/opt/local/include/zconf.h 已存在并且不属于已注册的端口。无法激活端口 zlib。)- 删除 /opt文件夹和重新安装 Macports 效果很好。非常感谢!!
    • 可以得到文本列表的时候不要截图。 port list installed。您可以将输出定向到文件并使用该文件自动重新安装软件包。
    • 是的,文本列表可能更好。此外,Porticus 似乎已经死了。 Pallet(sudo 端口安装托盘)似乎是新的方式。
    • 我会使用port installed requested 来获取您实际想要安装的端口列表。如果依赖项已更改,则无需重新安装曾经是依赖项但不再是依赖项的端口。
    【解决方案5】:

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

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

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

    【讨论】:

    • 比删除整个 /opt 文件夹要好得多。当 /opt/local/bin/uuid 告诉我此文件不属于注册端口时,我只是删除了它。
    【解决方案6】:

    Mac OS X 10.4.11 附带 Python 2.4(不确定 Leopard)。它的路径是/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4,所以你可能根本不需要安装。

    【讨论】:

    • 是的,我知道。 Macports 中的一些依赖项负责该依赖项。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多