在Mac上降级Perl版本

时间:2018-11-27 16:46:33

标签: macos perl

首先是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

2 个答案:

答案 0 :(得分:2)

默认安装位置为

/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

有关切换到系统Perl的信息,请参见Switching to the system Perl using perlbrew


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

答案 1 :(得分:0)

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

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

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

注意:如果使用带有./script.pl的{​​{1}}运行perl脚本,则应继续使用安装在#!/usr/bin/perl上的perl。但是,如果shebang行是/usr/bin/perl,则应切换到/usr/bin/env perl文件指定的版本。