macos - 当 'port' 不起作用时卸载 macports

标签 macos macports osx-tiger

我一直在尝试为我正在运行的应用程序安装一些依赖项,但我担心我可能破坏了开发环境。我正在 MacBook 上运行这个程序(OSX Tiger,我无法使用更新的程序)。 MacPorts 正式损坏,当我尝试运行任何命令时返回此错误:

 sqlite error: near "ADD": syntax error (1) while executing query: ALTER TABLE registry.files ADD COLUMN binary bool
    while executing 
"registry::open $db_path"
    (procedure "mportinit" line 633)
    invoked from within
"mportinit ui_options global_options global_variations"

看到这种情况发生在任何端口 __ 命令上,我无法使用卸载 MacPorts 的标准方法。但是,考虑到我是在这种情况下首先得到它的人,我宁愿在不知道自己在做什么的情况下不围绕自己 Root 。
  • 这个问题可以解决吗?就我自己的知识而言,有没有人知道究竟是什么导致了这个错误,或者它在 macport 的功能方面实际上意味着什么?
  • 我如何(假设这是必要的/一个好主意)彻底卸载 macports?我宁愿不必在事后重新安装所有端口的麻烦,但这比我现在拥有的要好。
  • 最佳答案

    MacPorts 通常仍然可以在旧版本的 Mac OS X 上运行,因为开发人员不会故意破坏兼容性。 MacPorts 官方仅支持最新版本的 Mac OS X 和之前的版本(在撰写本文时,这是 10.7 Lion 和 10.6 Snow Leopard)。

    但是,根据您在此处的报告,最新的 MacPorts 2.1.0 升级似乎与 Mac OS X 10.4 Tiger 存在兼容性问题。如上面的错误消息所示,较旧的 SQLite 库版本似乎不理解 ALTER TABLE ... ADD COLUMN用于更新端口注册表的语法。

    对于这种情况,我假设只有升级过程本身受到影响,并且可以正常运行。此过程应该将您的 MacPorts 注册表带到此版本中添加的新功能所需的较新版本。创建一个新的空注册表可能仍然有效。但是,这需要完全重新安装 MacPorts 和所有端口。

    请关注 uninstall instructions ,但跳过第一个命令为 port不能再执行了。这可能会留下一些端口安装到系统位置的痕迹,但在大多数情况下,这可以正常工作。然后,使用 installation instructions 从源安装 MacPorts在指南中。

    关于macos - 当 'port' 不起作用时卸载 macports,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640329/

    相关文章:

    python - 使用 matplotlib 'format "rgba 的动画“不支持”

    c - OS X Tiger上的mprotect API

    macos - NASM:x86 到 PPC - 表达式语法错误

    bash - 从执行 bash 脚本中清除历史记录中的最后一个 bash 命令

    java - 安装java没有效果(jre或jdk,1.8来自oracle站点)

    macos - 让 Subversion 1.6 与 OS X El Capitan 配合使用

    mysql - 编译 Perl 的 DBD::mysql 时如何修复 "Symbol not found: _is_prefix"?

    objective-c - NSView 的绘图上下文

    c# - System.Web.HttpException : Validation of viewstate MAC failed in ASP. NET

    linux - 为端口命令设置 visudo nopasswd 后权限被拒绝