zsh

打开电脑执行$ flutter doctor,然后报错 zsh: command not found: flutter
我在想这个flutter的环境之前已经配好了,怎么不能用了呢?
上网一查,发现说是新版Macbash变成了zsh

shell用到了很多分支,Mac 10.15.4之前默认用的bash,在这之后用的是zsh,所以zshbash都属于shell

可以查看已安装shell

 ~ % cat /etc/shells 
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

其中$ chsh -s /bin/zsh当前使用的shell(可能会需要输入密码),然后终端重启即可。

如果bash切换到zsh后,~/.bash_profile里面的环境变量的配置便不生效了

此时需要在~/.zshrc中重新配置。
如果没有 ~/.zshrc,那么$ vim ~/.zshrc新建一个,然后把之前~/.bash_profile配置的内容copy到 ~/.zshrc

然后再执行source 立即生效

$ source ~/.zshrc

终端重启或者关闭当前的窗口,再打开一个窗口也可生效


如果出现了 ls vim等基本的指令不可用

如果出现了 ls vim等基本的指令不可用时,那可能是环境变量(~/.bash_profile或者 ~/.zshrc 中的PATH)出现错误了,

$ env //查看环境变量

这是在终端中执行

udoctor@OB ~ % export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

让环境变量重置,然后再去修改~/.bash_profile或者 ~/.zshrc 中PATH

export PATH=/Library/Android/sdk 这是设置PATH变量
export PATH=/Users/Library:$PATH 这是修改PATH变量,PATH=/Users/Library:/Library/Android/sdk
export PATH=/Users/Library 这是错误的,这样会覆盖之前的PATH,PATH=/Users/Library,所以要加上:$PATH

如果自己写的命令行程序怎么设置?
找到自己的命令行项目(exec)的路径,把当前路径的也就是exec所在的 文件夹 的路径添加到PATH就可以了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐