zsh
还是bash
从 macOS Catalina 版开始,您的 Mac 将使用 zsh 作为默认登录 Shell 和交互式 Shell。
zsh
环境变量配置
Last login: Sun Feb 2 00:05:49 on ttys001
david@DavidbiberdeMBP ~ % ls
Applications Library Public
Desktop Movies node_modules
Documents Music package-lock.json
Downloads Pictures
david@DavidbiberdeMBP ~ % pwd
/Users/david
david@DavidbiberdeMBP ~ % open -e .zprofile
david@DavidbiberdeMBP ~ % source .zprofile //配置完成后刷新配置
打开.zprofile
配置相关变量
bash
环境变量配置
Last login: Sun Feb 2 00:05:49 on ttys001
david@DavidbiberdeMBP ~ % ls
Applications Library Public
Desktop Movies node_modules
Documents Music package-lock.json
Downloads Pictures
david@DavidbiberdeMBP ~ % pwd
/Users/david
david@DavidbiberdeMBP ~ % open -e .bash_profile
david@DavidbiberdeMBP ~ % source .bash_profile //配置完成后刷新配置
在.bash_profile
中配置相关环境变量
如果已经配置了bash
的.bash_profile
,需要使用zsh
时
解决方案 在.zprofile
中添加[[ -e ~/.bash_profile ]] && emulate sh -c 'source ~/.bash_profile'
即可调用.bash_profile
中相关环境变量配置到.zprofile
中
附件说明
mac
官方说明
如何切换到 zsh 描述文件和提示符
如果您正在使用 bash 描述文件(例如,为了设置环境变量、别名或路径变量),则您应改为使用作用与它相同的 zsh 描述文件。例如:
- .zprofile 的作用与 .bash_profile 相同,并且在登录时运行(包括通过 SSH 运行)
- .zshrc 的作用与 .bashrc 相同,并针对每个新的“终端”会话运行
如果您正在使用 .profile(一个兼容 POSIX 的描述文件),则您可以将以下命令添加到 .zprofile,以便 zsh 自动读取这个描述文件的设置:
[[ -e ~/.profile ]] && emulate sh -c ‘source ~/.profile’
bash
与zsh
相互切换
bash
切换为zsh
:chsh -s /bin/zsh
zsh
切换为bash
:chsh -s /bin/bash
常用变量配置
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
M2_HOME=/Volumes/david/apache-maven-3.6.1
NODE_HOME=/Volumes/david/node_modules/node_global
MYSQL_HOME=/usr/local/mysql
PATH=$M2_HOME/bin:$NODE_HOME/bin:$MYSQL_HOME/bin:$JAVA_HOME/jre/bin:$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
node.js
全局安装后自定义缓存路径与全局路径
npm config set prefix "/Users/david/node_modules/node_global"
//配置缓存cache路径
npm config set cache "/Users/david/node_modules/node_cache"
验证node.js
全局配置
npm config get prefix
npm config get cache
注意
此教程解决node.js
更改全局配置后全局安装vue
webpack
nrm
等工具后只能访问一次或者提示zsh: command not found: vue
等错误时修复
适用于mac
系统