【问题标题】:Downgrade perl version on mac在mac上降级perl版本
【发布时间】:2018-11-27 16:46:33
【问题描述】:

首先我是 MAC 新手。
我在 Mac 上遇到了类似的问题,它随 V5.28.0 一起提供,但我必须为我的应用程序使用 perl V5.18.2。已经使用perlbrew install 5.18.2 安装了 perl 5.18.2 并且安装成功。

这里有两个问题

  1. 我的默认版本和其他版本安装在哪里?有什么命令可以知道他们吗?已经尝试检查 echo $PATH 但没有用。

  2. 如何设置默认版本为5.18.2?

问候
AVK

【问题讨论】:

    标签: macos perl


    【解决方案1】:

    默认安装位置是

    /usr/bin/perl
    

    但这可能不是它在 MacOS 上的位置。您可以通过运行以下命令来确定:

    perlbrew off
    which perl
    

    (重新启动终端将重新激活 perlbrew。)


    您安装的构建位于以下返回的目录下的目录中:

    printf -- "%s\n" "${PERLBREW_ROOT:-$HOME/perl5/perlbrew}/perls"
    

    您可以修改 PATH 以便 perl 运行所需的构建使用

    perlbrew switch <name>     # Changes it for this shell instance and those created later.
    perlbrew use <name>        # Changes it for this shell instance only.
    

    您可以从中获取要使用的名称

    perlbrew list
    

    请参阅Switching to the system Perl using perlbrew 了解如何切换到系统 Perl。


    脚本需要在其 shebang (#!) 行上指定正确的 perl。由标准 Perl 模块安装程序安装的脚本将正确设置此设置,但您需要编辑手动安装的脚本的 shebang (#!) 行。

    【讨论】:

      【解决方案2】:

      另一个选项(与perlbrew 不兼容)是使用plenv。这使您可以为每个目录运行不同版本的 perl。使用brew install plenv 安装后,您可以这样使用它:

      $ plenv install 5.18.2
      $ cd project/needing/old/perl
      $ echo "5.18.2" > .perl-version
      

      噗!在该目录或其任何子目录中运行 perl 将使用 5.18.2。

      注意:如果你用./script.pl 运行一个perl 脚本,它有#!/usr/bin/perl,这应该继续使用安装在/usr/bin/perl 的perl。但是,如果 shebang 行是/usr/bin/env perl,这应该切换到.perl-version 文件指定的版本。

      【讨论】:

      • 这如何回答任何问题?他们的 OP 已经在使用 perlbrew 并且他们正在询问如何使用它以及其他问题,这些问题都没有答案。最重要的是,使用/usr/bin/env perl 是一个坏主意,因为您所说的原因是:它会改变我们使用的 perl,因为.perl-version 已更改,而不是使用安装它的那个。
      • @ikegami 这主要适用于遇到此问题的其他任何人。我需要为 macOS 上的某些应用程序运行较低版本的剥离,这对我来说是最好的解决方案。 (我运行过 perlbrew 和 pleenv。)我希望其他人会发现它有用。
      猜你喜欢
      • 1970-01-01
      • 2020-03-28
      • 2013-11-05
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      • 2023-03-23
      • 2021-07-15
      相关资源
      最近更新 更多