ma terminal 终端,从bash模式切换至zsh模式(前提是zsh相关环境都已经安装)出现
zsh: command not found: node
,找了不少资料才解决,主要问题在于不了解.bashrc
、.bash_profile
的区别
原则上来说这就是一个切换脚本语言后导致环境变量也跟着切换,之前的安装应用不能通过 terminal 不能使用。
说明:zsh 脚本 确实比 bash脚本好用,而且功能强大。但里面也存在一些坑,原因是 zsh 使用的是仿真模式兼容 bash? 参考
Google 找到解决方案
最终参考:https://stackoverflow.com/questions/33935281/command-not-found-oh-my-zsh
在 .zshrc 文件中添加
source ~/.bash_profile
但是并没有效果
….. 怀疑 ~~~~
继续YY
科普一下
~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
此文件类似于/etc/profile,也是需要需要重启才会生效,/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc文件,在用户目录下)
结合报错解决问题
不管是 node
还是 nvm
都是属于用户独有,并不是每个用户都拥有的。
so:
在 .szhrc 文件中添加
source ~/.bashrc
总结:得根据自己的实际场景去解决问题