安装 py25-py2app-devel 时出现的问题

安装 py25-py2app-devel 时出现的问题

我尝试在 Mac 10.5.8 Darwin 9.8.0 上安装 py25-py2app-devel,因为它是 py25-matplotlib 所必需的。使用 porticus 时我收到此错误:

错误:目标 org.macports.destroot 返回:xinstall:无法统计:NEWS.txt,没有此文件或目录错误:处理期间遇到状态 1。

有什么办法可以解决这个问题吗?

谢谢

答案1

原因

此错误表明 MacPorts 已成功获取py25-py2app-devel源代码,但无法安装(无法执行其“destroot”阶段(技术上)因为它无法找到并移动名为的文件NEWS.txt。快速查看py2app 源树表明NEWS.txt确实已经不存在了,尽管 port 仍然尝试安装它——参见第 38 行最新的 Portfile(Portfiles 是构建和安装 MacPorts 软件的说明。)

短期解决方案

  1. 确保您拥有最新版本的 MacPorts 核心软件和端口树。这几乎总是一个好主意。通过打开终端并运行以下命令来执行此操作:

    sudo port selfupdate
    
  2. 运行以下命令清除未成功安装留下的所有临时工作/构建文件

    sudo port clean --all py25-py2app-devel
    

    这可确保下次您尝试安装端口时,MacPorts 从头开始​​。

  3. NEWS.txt删除 Portfile中的引用py25-py2app-devel,以便它不再尝试安装NEWS.txt;该文件位于$(port dir py25-py2app-devel)/Portfile。执行此操作的快速方法是运行

    sudo sed -i '' '38s/NEWS.txt//' $(port dir py25-py2app-devel)/Portfile
    

    此命令从 Portfile 的第 38 行中删除文本“NEWS.txt” 。这是Portfile 中py25-py2app-devel对 的唯一引用。NEWS.txt

  4. 尝试再次安装:

    sudo port install py25-py2app-devel
    

    这次端口应该可以正确安装,除非出现其他无法预料的问题。至少,您不会NEWS.txt再遇到同样的问题。

长期解决方案

虽然这应该对您来说,再次使用更新树port selfupdate将用来自 MacPorts 的错误 Portfile 覆盖您的本地更改。(这不会破坏您的安装,但这意味着稍后重新安装将失败,除非其他人在 MacPorts 端对其进行修补。)如果上述修复有效,请告诉我,我可以提交补丁。或者您可以自己做,如果你喜欢冒险。 :)

相关内容