macos – 当’port’不起作用时卸载macports

我一直在尝试为我正在运行的应用程序安装一些依赖项,我担心我可能已经破坏了开发环境.我在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的标准方式.但是,鉴于我是第一个在这种情况下得到它的人,我宁愿不知道自己在做什么也不能自己扎根.

>这个问题是否可以解决?仅仅为了我自己的知识,有没有人知道究竟是什么导致了这个错误或者它实际上对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,但跳过第一个命令,因为端口不能再执行了.这可能会留下一些端口安装到系统位置的痕迹,但在大多数情况下,这可以正常工作.然后,使用指南中的installation instructions从源安装MacPorts.

点赞