【问题标题】:How do I upgrade my MacPorts Perl installation?如何升级我的 MacPorts Perl 安装?
【发布时间】:2011-04-25 22:41:00
【问题描述】:

我已经在装有 Snow Leopard 的 MacBook Pro 中安装了 MacPorts。我没有在那里显式安装 perl,但我猜它要么是随默认 macports 安装一起安装的,要么是作为我安装的任何其他端口的依赖项安装的。

我想用最新的稳定 Perl 版本升级那里的 Perl v5.8.9。无论它目前是什么(我看到它是 5.12.2)。所以,我的问题很简单,就是如何在 macports 中用新的 Perl 完全替换旧的 Perl。

sudo port upgrade perl5 会工作还是我还需要做其他事情。我只是想确保这是正确的命令,以免搞砸我的 macports 安装。

【问题讨论】:

  • perl 无需 MacPorts 即可轻松编译和安装。您可以手动尝试一次以亲自查看。 :)
  • 是的,我知道我可以在没有 MacPorts 的情况下安装新的 perl,但这不是重点。我通常保留 Apple 的默认 Perl 安装并在 MacPorts 安装中尝试新版本。我只是在 MacPorts 中寻找正确的方法:)。

标签: perl applet osx-snow-leopard macports


【解决方案1】:

port upgrade packagename 是正确的形式,是的。

但我认为在这种情况下,它比那更棘手。

看看 perl5 portfile。它是一个仅依赖于 perl 5.8 的包装器。如果你只是sudo port upgrade perl5,它不会让你到 5.12。然而,perl5 包有几个 5.10 和 5.12 的变体。您应该可以使用port variants perl5 在本地查看所有这些内容。

我不确定您是否可以将变体标志(在这种情况下为+perl5_12)传递给port upgrade,或者您是否需要在当前安装的基础上执行新的port install。甚至,恐怖的恐怖,在安装变体之前卸载当前的包。

整个变体机制是一个错误,恕我直言。一个有趣且有价值的实验,但我们从中了解到这是一个坏主意。

编辑:我认为您可以向已安装的端口添加变体;看来你不得不说:

sudo port deactivate perl5
sudo port install perl5 +perl5_12

【讨论】:

    【解决方案2】:

    您需要先卸载perl5.8,然后再安装perl5.12

    sudo port deactivate perl5.8
    sudo port uninstall perl5.8
    sudo port install perl5 +perl5_12
    

    注意:如果卸载perl5.8 失败,您可以通过以下方式强制卸载

    sudo port uninstall -f perl5.8
    

    警告:这可能会破坏其他包的依赖关系。

    但到目前为止,它为perl(和我)完成了这项工作:

    % perl -v
    
    This is perl 5, version 12, subversion 2 (v5.12.2) built for darwin-multi-2level
    

    【讨论】:

      【解决方案3】:

      我在从 Perl 5.26 迁移到 5.28 时这样做了:

      • $ sudo vi /opt/local/etc/macports/variants.conf 添加 +perl5_28(允许使用 emacs :-)
      • $ port depend perl5.26 | awk '!/p5.26/ { print $1 }' | xargs sudo port install 将 perl、git 等升级到新变体之上
      • $ sudo port uninstall --follow-dependents perl5.26 删除 Perl 5.26。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-25
        • 2012-02-25
        • 1970-01-01
        • 2010-12-05
        • 2010-11-22
        • 1970-01-01
        • 1970-01-01
        • 2020-08-13
        相关资源
        最近更新 更多