【问题标题】:Switching to the system Perl using perlbrew使用 perlbrew 切换到系统 Perl
【发布时间】:2014-08-07 17:24:54
【问题描述】:

首先,一些背景。

perlbrew 是一个帮助将 Perl 安装到非标准目录(通常在您的主目录下)的工具。

它还可以帮助您控制在交互式 shell 中执行 perl 时使用哪个 Perl 安装。使用perlbrew useperlbrew switch 完成安装之间的切换。 perlbrew use 只影响当前的 shell,而perlbrew switch 更持久。

$ perl -V:version             |  $ perl -V:version
version='5.20.0';             |  version='5.20.0';
                              |
$ perlbrew use 5.18.2t        |  $ perlbrew switch 5.18.2t
                              |
$ perl -V:version             |  $ perl -V:version
version='5.18.2';             |  version='5.18.2';
                              |
$ bash -ic 'perl -V:version'  |  $ bash -ic 'perl -V:version'
version='5.20.0';             |  version='5.18.2';

perlbrew off 用于恢复使用系统 Perl,但它像perlbrew use 一样是临时的。有没有办法恢复到永久为perlbrew switch的系统Perl?

【问题讨论】:

  • 哇,你回答自己的问题真的很快:)
  • @jh314,这是一个 SO 功能。当您提出问题时,会出现一个标有“回答您自己的问题”之类的复选框。如果您选中,则会出现一个答案表格。问题和答案同时提交。
  • 酷,没看到!所以你问什么时候知道答案?
  • @jh314 SO 的目的是建立一个有用的问答数据库。使用这种方法分享自己学到的东西同样有用,是的。特别是如果这是一个非常具体的问题,因此很容易搜索。

标签: perl perlbrew


【解决方案1】:

要让perlbrew 管理perlbrew 未安装的perl 安装,请选择一个名称(在我的示例中为“system”)并创建指向其bin 目录的链接,如下所示:

cd "${PERLBREW_ROOT:-$HOME/perl5/perlbrew}"
mkdir perls/system
ln -s /usr/bin perls/system/bin

它现在将出现在perlbrew list

$ perlbrew list
  ...
  system (5.10.1)
  5.18.2t
* 5.20.0t
  ...

您将能够使用perlbrew useperlbrew switch

$ perl -V:version
version='5.20.0';

$ perlbrew switch system

$ perl -V:version
version='5.10.1';

$ bash -ic 'perl -V:version'
version='5.10.1';

这最适用于具有相同installbininstallvendorbin(如果适用)和installsitebin 目录的安装,如

perl -V:'install.*bin'

顺便说一句,可以使用类似的方法为perlbrew 安装创建别名。例如,

 ln -s 5.26.1 perls/5.26           # Point to the latest release of a version.
 ln -s 5.26.1 perls/project_name   # Point to the install used by a project.

【讨论】:

  • 我按照这些说明操作,在运行perlbrew switch system 后,我得到:“一个子shell 以system 作为激活的perl 启动。运行'exit' 来完成它。”这似乎不是永久性的......
  • @Marcus,您的perlbrew 安装不正确。见this
  • 啊,很好。谢谢@ikegami。
【解决方案2】:

您可以使用以下命令

perlbrew switch-off

【讨论】:

  • switch-off 并不总是perlbrew 的一部分,但这显然是现在更好的解决方案:) 另一个答案使用的技术对于集成其他未安装的perl 构建仍然很有价值但是,perlbrew
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-16
  • 1970-01-01
  • 2018-05-07
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多