如何将 perlbrew 版本设为我的默认版本?

如何将 perlbrew 版本设为我的默认版本?

我在 Mac 上工作,我的默认 perl 版本是 v5.12.4。99% 的时间我都使用我已有的 perlbrew 安装,因为我的工作需要大量我不想安装在系统 perl 上的模块。

有没有办法在 bash 启动时自动切换到该安装?我尝试添加

  perlbrew  switch perl-5.14.2

到 .bashrc,但它似乎不起作用

答案1

$ perlbrew

Usage:
    perlbrew command syntax:

        perlbrew <command> [options] [arguments]

...

   Commands:
        ...
        ...
        switch         Permanently use the specified perl as default

...

~$ perlbrew help switch

Usage: perlbrew switch [ <name> ]

Switch to the given version, and makes it the default for this and all
future terminal sessions.

Without a parameter, shows the version of perl currently selected.

您只需在终端窗口中发出命令:

$ perlbrew switch perl-5.14.2

那么如果你这样做:

$ perlbrew list

...你会看到类似这样的内容:

  perl-5.10.0  
* perl-5.14.2
  perl-5.20.2
  perl-5.20.2threads

表示*默认的 perl。

我不确定为什么你的命令在 .bashrc 中不起作用——尽管该命令只需要发出一次,所以把它放在 .bashrc 中是不合适的。根据本文,终端不执行 .bashrc——而是为所有 shell 执行 .bash_profile,所以也许这就是它不起作用的原因。根据那篇文章,如果你想执行 .bashrc,你必须在 .bash_profile 中输入一些代码来执行。

另一种可能性是:你拼错了 perl 的名称。要检查拼写,请执行以下操作:

 $ perlbrew list

...然后将您想要作为默认的 perl 名称复制并粘贴到您的切换命令中。

perlbrew 的工作方式是将某个 perl 版本的路径添加到 PATH 环境变量的前面。您可能知道,当您在终端窗口中发出命令时,例如perl,您的操作系统会在 PATH 环境变量中指定的目录中查找该命令 - 按照指定目录的顺序。一旦找到命令,您的操作系统就会停止搜索。第一个匹配的获胜!

当终端窗口关闭时,perlbrew 会从 PATH 环境变量的前面删除该路径。但是,当您使用该switch命令(即命令use)时,perlbrew 会忽略从 PATH 环境变量的前面删除该路径。因此,下次您打开终端窗口并发出该perl命令时,该命令将出现在 PATH 环境变量中指定的第一个目录中,该目录将是您使用 perlbrew 命令设置的 perl 版本的目录switch

答案2

有点晚了,但对于未来的搜索者来说。

这个命令非常简单,在我的情况下,我使用 Linux Centos 6.5,但因为它使用 perlbrew 命令,所以我希望有相同的行为,如果不是,只需提一下。

perlbrew install perl-5.14.2 -n --switch

您有更多选择,可以尽情perlbrew -h享受!

相关内容