# wsl终端运行命令提示 'bash\r' No such file or directory
2 min read
文章目录
前言
想在 wsl 上安装 flutter 跑一跑我的gopeed项目,在安装完 flutter 并设置好环境变量后,运行flutter doctor提示bash\r: No such file or directory,搜索了一番发现没有找到解决方案,于是自己摸索了一番,记录下来。
解决方案
通过之前搜索的结果,大部分都是说是换行符的问题,可是我安装的明明是 linux 版本的 flutter,不可能是换行符的问题,怀疑是调用到了 windows 宿主机上的 flutter,于是输入which flutter一看:
which flutter/mnt/d/flutter/bin/flutter果然是调用到了 windows 上的 flutter,明明在~/.bashrc配置好了 flutter 的PATH,为什么还是调用到了 windows 上的呢?输入echo $PATH一看:
echo $PATH/mnt/d/flutter/bin:...:/home/levi/flutter/bin两个 flutter 的路径都在,这就是问题所在了,因为/mnt/d/flutter/bin在/home/levi/flutter/bin前面,所以会优先调用 windows 上的 flutter,解决方案就是把/mnt/d/flutter/bin放到/home/levi/flutter/bin后面,这样就不会调用到 windows 上的 flutter 了,修改~/.bashrc文件:
# 修改前export PATH="$PATH:home/levi/flutter/bin"# 修改后export PATH="/home/levi/flutter/bin:$PATH"然后重新打开终端,输入flutter doctor,问题解决。