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

在Debian 11中用asdf安装Erlang/Elixir时遇mix: command not found错误求助

解决Debian 11中asdf安装Elixir后'mix: command not found'问题

核心问题分析

你已经通过asdf成功安装了兼容版本的Erlang和Elixir,erl -v和elixir -v能正常执行,但mix命令找不到,大概率是asdf的版本生效配置或shims机制未正确工作,而非安装本身的问题。

解决步骤

1. 确保asdf已为Elixir设置生效版本

asdf安装完版本后,必须明确指定全局或局部生效版本,否则不会将对应工具的bin目录加入PATH:

# 设置全局生效的Elixir版本(所有终端会话生效)
asdf global elixir 1.13.2-otp-24

# 或在项目目录下设置局部版本(仅当前目录及子目录生效)
asdf local elixir 1.13.2-otp-24

执行asdf current查看当前生效版本,确认Elixir版本显示为1.13.2-otp-24,之后新开终端或执行source ~/.bashrc重新加载配置。

2. 检查asdf shims目录是否在PATH中

asdf通过~/.asdf/shims目录管理所有工具的版本切换,该目录必须存在于你的PATH中,且优先级高于系统默认路径:

echo $PATH

如果输出中没有~/.asdf/shims,则手动将其添加到~/.bashrc顶部(确保优先级):

export PATH="$HOME/.asdf/shims:$PATH"

执行source ~/.bashrc生效后再次检查PATH。

3. 验证Elixir的执行路径是否关联到asdf shims

执行以下命令确认asdf是否接管了Elixir的调用:

which elixir

正常输出应为~/.asdf/shims/elixir,如果输出为系统路径(如/usr/bin/elixir),说明~/.bashrc中asdf的配置语句位置靠后,被系统PATH覆盖,需将. "$HOME/.asdf/asdf.sh"移动到PATH相关配置的前面。

4. 重建asdf shims

如果shims文件损坏或未生成,执行以下命令重建Elixir的shims:

asdf reshim elixir 1.13.2-otp-24

完成后新开终端测试mix --version。

5. 移除手动添加的系统Elixir路径

你之前在/etc/profile.d/elixir.sh中添加的路径是系统级Elixir的安装路径,与asdf管理的版本路径冲突,建议删除该文件或注释掉路径配置:

sudo rm /etc/profile.d/elixir.sh
# 或编辑文件注释该行:# export PATH=$PATH:/usr/local/lib/elixir/1.13.2-otp-24/bin

之后重新加载系统配置或重启终端。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:02:37