You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Anaconda后iTerm报错:(eval):66: command not found: dirname

解决Anaconda安装后(eval):66: command not found: dirname报错

问题原因

报错本质是执行conda初始化脚本时,系统PATH还未包含/usr/bin(dirname所在路径)。你的.zshrc里PATH配置重复且顺序混乱,导致conda初始化代码(位于eval块中)执行时,找不到系统默认的dirname命令。

解决方案

1. 备份并整理.zshrc的PATH配置

先备份原有配置,避免误操作:

cp ~/.zshrc ~/.zshrc.bak

打开.zshrc,替换原有PATH相关配置为以下内容(确保系统默认路径优先,再添加第三方工具路径):

# 系统核心路径优先,确保dirname等基础命令可被找到
export PATH=/usr/bin:/bin:/usr/sbin:/usr/local/bin:$PATH
# 添加Homebrew路径(适配M1/M2芯片,Intel芯片可改为/usr/local/bin)
export PATH=/opt/homebrew/bin:$PATH
# 添加Anaconda路径
export PATH=/opt/anaconda3/bin:$PATH
# 关闭base环境自动激活
export CONDA_AUTO_ACTIVATE_BASE=false

2. 调整conda初始化代码的位置

检查.zshrc中是否存在类似以下的conda初始化代码块:

__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/opt/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/opt/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup

如果有,将这段代码移动到所有PATH配置的下方,确保执行初始化脚本时,系统PATH已经包含/usr/bin。

3. 生效配置并验证

保存.zshrc后,执行命令使配置生效:

source ~/.zshrc

重启iTerm,检查是否还会出现command not found: dirname的报错。如果问题依旧,重新执行conda初始化:

/opt/anaconda3/bin/conda init zsh

之后再次检查.zshrc的PATH顺序和初始化代码位置,重复上述步骤即可。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 06:01:07