【问题标题】:How can I install a newer Perl without damaging the system install?如何在不损坏系统安装的情况下安装更新的 Perl?
【发布时间】:2010-10-23 19:05:10
【问题描述】:

我看到很多人提到 Perl >= 5.12 中的一些很酷的新功能,但我更喜欢的 Linux Ubuntu 版本只有 5.10.1。

我不惧怕 PPA,而且我知道如何使用 Google 搜索(除非有人找到我的东西,否则我会感到害羞)。我找不到提供 Perl PPA 的人;我以为所有事情都有 PPA!

我更担心的是,由于基于 linux 的操作系统使用 perl 作为其打包和其他系统的一部分,我不一定想自己冒险编译/安装它,以免破坏我的操作系统。

有人可以给我一些关于升级/并行安装最新 Perl 版本的最简单但最安全的方法的指导吗?

  • 我能否以一种不影响系统实用程序的良好方式指定多个二进制文件?
  • 如果安装了多个版本的 Perl,模块如何工作?

【问题讨论】:

标签: linux perl installation multiple-versions


【解决方案1】:

我建议您看看 CPAN 提供的出色的 perlbrew,它允许您在本地安装和管理多个 perl 版本。

【讨论】:

  • 我以前见过这个,但没有尝试过,因为害怕弄乱系统 perl。当使用 perlbrew 时,它会改变系统的 perl 版本吗?如何使用我的更高版本但仍然让系统使用 5.10.1?
  • perlbrew 描述:perlbrew 是一个在用户 HOME... 中自动构建和安装 perl 的程序
  • 阅读 perlbrew 文档 - 我认为您的问题已经得到解答。简而言之,perlbrew 不会干扰您的系统 perl。任何时候您想停止使用 perlbrew 并恢复使用系统 perl,您都可以这样做(关闭 perlbrew)。当然,即使打开了 perlbrew,您也始终可以使用系统 perl 的完整路径(例如 /usr/bin/perl)来调用它。
  • 经过一番阅读,这似乎是最安全的,同时仍然很容易。立即尝试,会让您知道。
  • 似乎工作:$ perl -v -> 这是 perl 5,版本 13,subversion 3 (v5.13.3)。 $ sudo perl -v -> 这是 perl,v5.10.1 (*)。
【解决方案2】:

您听起来更像是在尝试替换 dist perl,您不想这样做。你想安装一个单独的 perl。由于与 perls 相关的所有包袱,我通常将它们作为一个单独的用户安装在他们家中,然后像 /opt 或其他什么一样导出。

【讨论】:

    【解决方案3】:

    我所做的是,编译我自己的 perl 并将其安装在 /opt/perl 中。然后,我将export PATH=/opt/perl/bin:$PATH 添加到我的.bashrc。因此系统 perl 保持不变,我可以使用最新的 perl。 :-)

    【讨论】:

    • 你不应该使用/opt,至少不能在OSX上使用,因为这是macports包分发系统使用的基本目录。
    • @Ether: /usr/local 可能更好,是的,但 /opt 肯定是允许的。理论上 (pathname.com/fhs/pub/…) macports 等不应该覆盖用户放置在 /opt 中的东西
    • 关于 /opt/usr/local,请参阅:unix.stackexchange.com/a/11552/26227
    猜你喜欢
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多