perlbrew 切换路径命令在 MacOS Big Sur 11.4 上不是永久的
Posted
技术标签:
【中文标题】perlbrew 切换路径命令在 MacOS Big Sur 11.4 上不是永久的【英文标题】:perlbrew switch path order not permanent on MacOS Big Sur 11.4 【发布时间】:2021-09-08 07:07:39 【问题描述】:我正在编写分步说明指南,以在运行于 VMware Fusion 上的新建(来自 ISO)MacOS Big Sur (11.4) VM 上安装 perlbrew。
我已经能够成功安装 perlbrew。 perlbrew 信息如下所示:
perlbrew 信息
当前的 perl: 使用系统 perl。 社帮:#!/usr/bin/perl
perlbrew: 版本:0.92 环境: PERLBREW_ROOT:/用户/jblaty/perl5/perlbrew PERLBREW_HOME:/Users/jblaty/.perlbrew PERLBREW_PATH:/Users/jblaty/perl5/perlbrew/bin PERLBREW_MANPATH:
太棒了!现在,我将执行 perlbrew switch perl-5.32.1,然后执行另一个 perlbrew info:
perlbrew 信息
当前的 perl: 名称:perl-5.32.1 路径:/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1/bin/perl 配置:-de -Dprefix=/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1 -Aeval:scriptdir=/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1/bin 编译时间:2021-06-23 14:43:45
perlbrew: 版本:0.92 环境: PERLBREW_ROOT:/用户/jblaty/perl5/perlbrew PERLBREW_HOME:/Users/jblaty/.perlbrew PERLBREW_PATH: /Users/jblaty/perl5/perlbrew/bin:/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1/bin PERLBREW_MANPATH:/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1/man
太棒了!所以我现在在 VM 中运行 Perlbrew 版本的 Perl。这是我切换后的路径...
打印 $PATH
/Users/jblaty/perl5/perlbrew/bin:/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1/bin:/usr/local/bin:/usr/ bin:/bin:/usr/sbin:/sbin
太棒了!所以在路径中,MacOS 会在 Perl 的系统版本之前找到 perlbrew 版本。到目前为止一切看起来都不错,但我希望 perlbrew 开关 对我开始的每个新终端会话持久。请记住,我使用的是 zsh,我的 .zshenv 看起来像这样:
cat .zshenv
源码~/perl5/perlbrew/etc/bashrc
但是,事情就在这里破裂了。如果我关闭该终端会话并打开一个新会话,然后执行另一个 perlbrew info,我会得到以下结果:
perlbrew 信息
当前的 perl: 名称:perl-5.32.1 路径:/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1/bin/perl 配置:-de -Dprefix=/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1 -Aeval:scriptdir=/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1/bin 编译时间:2021-06-23 14:43:45
perlbrew: 版本:0.92 环境: PERLBREW_ROOT:/用户/jblaty/perl5/perlbrew PERLBREW_HOME:/Users/jblaty/.perlbrew PERLBREW_PATH: /Users/jblaty/perl5/perlbrew/bin:/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1/bin PERLBREW_MANPATH:/Users/jblaty/perl5/perlbrew/perls/perl-5.32.1/man
...一切看起来都很好,对吧?但是,如果我再看看路径:
打印 $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/jblaty/perl5/perlbrew/bin:/Users/jblaty/perl5/perlbrew/perls /perl-5.32.1/bin
错误! perlbrew bin 目录被附加到路径的末尾,而不是开头那是在我关闭终端会话之前。
谁能指导我:
我做错了什么?我在安装过程中遗漏了什么吗?
如何修复 perlbrew,以便在后续的新终端会话中将 perlbrew bin 路径添加到系统路径?
我还将为 Linux 创建说明,因此修复此问题可能有助于我了解我需要在那里做什么。
【问题讨论】:
【参考方案1】:将初始化脚本添加到~/.zshrc
。
echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.zshrc
zsh startup file order 是:
/etc/zshenv
~/.zshenv
/etc/zprofile
PATH 在这里设置
~/.zprofile
/etc/zshrc
~/.zshrc
/etc/zlogin
~/zlogin
【讨论】:
以上是关于perlbrew 切换路径命令在 MacOS Big Sur 11.4 上不是永久的的主要内容,如果未能解决你的问题,请参考以下文章
Charles App - 用于切换 macOS 代理的命令行
MacOS下Chrome浏览器打开文件选择对话框快速切换路径的方法