使用perlbrew切换到Perl系统

ike*_*ami 13 perl perlbrew

首先,一些背景.

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

它还可以帮助您控制perl在交互式shell中执行时使用的Perl安装.使用perlbrew use和完成安装之间的切换perlbrew 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';
Run Code Online (Sandbox Code Playgroud)

perlbrew off用于恢复使用系统Perl,但它是暂时的perlbrew use.有没有办法恢复到具有永久性的系统Perl perlbrew switch

ike*_*ami 24

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

cd "${PERLBREW_ROOT:-$HOME/perl5/perlbrew}"
mkdir perls/system
ln -s /usr/bin perls/system/bin
Run Code Online (Sandbox Code Playgroud)

它现在将出现在 perlbrew list

$ perlbrew list
  ...
  system (5.10.1)
  5.18.2t
* 5.20.0t
  ...
Run Code Online (Sandbox Code Playgroud)

而且你将能够使用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';
Run Code Online (Sandbox Code Playgroud)

这个工作最好与具有相同的设备installbin,installvendorbin(如适用)及installsitebin目录,通过返回的

perl -V:'install.*bin'
Run Code Online (Sandbox Code Playgroud)

顺便说一下,可以使用类似的方法为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.
Run Code Online (Sandbox Code Playgroud)


小智 4

您可以使用以下命令

perlbrew switch-off
Run Code Online (Sandbox Code Playgroud)