为何Appium Doctor无法识别~/.bash_profile中配置的环境变量?
为什么Appium Doctor识别不了~/.bash_profile里的环境变量?
这问题我碰到好多次了,核心原因其实是当前终端用的shell不是bash——现在macOS默认的shell是zsh,而~/.bash_profile只有bash启动时才会自动加载,zsh根本不会理这个文件,所以你设置的环境变量自然没生效,Appium Doctor当然检测不到。
下面给你几个解决办法,选一个适合你的就行:
方法1:让zsh自动加载bash的配置文件
既然你已经把变量写在~/.bash_profile里了,直接让zsh启动时加载它就行:
- 打开zsh的配置文件:
open -e ~/.zshrc - 在文件末尾加一行:
source ~/.bash_profile - 保存文件后,重启终端或者执行
source ~/.zshrc让配置立刻生效
这样每次新开zsh终端,都会自动加载~/.bash_profile里的环境变量,Appium Doctor就能识别到了。
方法2:把环境变量移到zsh专属的配置文件里
如果想更贴合zsh的使用习惯,不如直接把变量迁移到zsh的配置文件中:
- 打开
~/.zshrc(或者~/.zshenv,后者会更早加载) - 把你原来在
~/.bash_profile里的这几行复制进去:ANDROID_HOME=/Users/username/Library/Android/sdk PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform_tools JAVA_HOME=$(/usr/libexec/java_home) PATH=${JAVA_HOME}/bin:$PATH - 保存后重启终端或者执行
source ~/.zshrc生效
验证是否生效
不管用哪种方法,重启终端后都可以用下面的命令验证:
echo $ANDROID_HOME:应该输出你的Android SDK路径echo $JAVA_HOME:应该输出你的Java安装路径which adb:应该输出类似/Users/username/Library/Android/sdk/platform_tools/adb的路径
如果这些都能正确输出,再跑Appium Doctor,那些警告应该就消失了。
内容的提问来源于stack exchange,提问作者the_prole
相关产品推荐
相关产品推荐

