You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Mac配置PATH后adb命令间歇性提示command not found求助

解决adb命令间歇性"command not found"的问题

这个问题我之前也碰到过,核心原因大多是终端默认使用的shell不是bash,导致你在.bash_profile里配置的环境变量没法自动加载。

为什么会出现这种情况?

当你执行source ~/.bash_profile时,是让当前的shell进程临时加载了这些环境变量,所以adb能正常用。但如果你的终端默认用的是zsh(现在MacOS的默认shell就是zsh),每次新开终端或者系统重启后,zsh会加载自己的配置文件~/.zshrc,而不会自动读取.bash_profile,这时候之前配置的PATH就没生效,自然找不到adb命令了。

解决方案(选一个就行)

方案1:把环境变量配置到zsh的配置文件里

  1. 打开zsh的配置文件:
    nano ~/.zshrc
    
  2. 在文件末尾添加你原来的配置内容:
    export ANDROID_HOME=/Users/viki-donor/Library/Android/sdk
    export PATH=$ANDROID_HOME/build-tools/26.0.2:$PATH
    export PATH=$ANDROID_HOME/platform-tools:$PATH
    export PATH=$ANDROID_HOME/tools:$PATH
    
  3. 保存并退出(按Ctrl+O,回车确认,再按Ctrl+X
  4. 让配置立即生效:
    source ~/.zshrc
    

之后不管你新开多少次终端,这些环境变量都会自动加载,adb就不会再丢了。

方案2:让zsh自动加载.bash_profile

如果你不想把配置移走,也可以让zsh每次启动时自动读取.bash_profile

  1. 打开~/.zshrc
    nano ~/.zshrc
    
  2. 在文件末尾添加一行:
    source ~/.bash_profile
    
  3. 保存退出后执行source ~/.zshrc,以后zsh启动时就会自动加载bash的配置了。

方案3:切换默认shell回bash

如果你更习惯用bash,可以把默认shell切回去:

  1. 先在终端执行:
    chsh -s /bin/bash
    
  2. 重启终端,之后每次启动都会加载.bash_profile的配置。不过注意,现在部分新版本MacOS可能需要先在「系统设置-隐私与安全性」里允许bash作为默认shell,具体可以看终端的提示。

验证是否生效

配置完成后,新开一个终端,执行echo $PATH,看看输出里有没有包含Android SDK的几个路径,或者直接执行adb version,如果能正常输出版本信息就说明配置成功了。

内容的提问来源于stack exchange,提问作者sagar suri

火山引擎 最新活动