启动Algorand Sandbox报the input device is not a TTY错误解决方法
Algorand Sandbox执行
./sandbox up启动报错修复方案 
按以下优先级依次排查修复:
- 路径自动转换问题(占这类报错的80%以上)
Git Bash默认开启的路径自动转换功能会篡改Docker挂载路径格式,导致启动失败。当前窗口临时修复先执行:export MSYS_NO_PATHCONV=1
执行完成后重新运行./sandbox up即可。需要永久生效的话,把上述export命令追加到Git安装目录下etc/bash.bashrc文件末尾,重启所有Git Bash窗口后配置永久生效。 - 脚本换行符格式错误
Windows下Git默认的自动换行转换会把shell脚本、yml配置文件的Unix格式LF换行符改成Windows格式CRLF,导致脚本解析失败。在sandbox根目录执行dos2unix sandbox docker-compose.yml即可批量修复;未安装dos2unix工具的话,先执行git config --global core.autocrlf false关闭自动换行转换,删除本地sandbox目录后重新拉取源码再启动。 - Docker运行配置异常
确认Docker Desktop处于正常运行状态,打开Docker设置-General页,勾选Use the WSL 2 based engine启用WSL2后端;再进入Resources-WSL Integration页,开启所用终端的WSL集成权限,保存配置重启Docker后重试。 - 权限与端口冲突排查
不要使用管理员权限启动Git Bash执行sandbox命令,高权限下Docker挂载映射容易触发权限拒绝错误。执行netstat -ano | findstr "8080 4001 4002"检查sandbox默认端口占用情况,若端口被其他进程占用,关闭对应进程或者修改docker-compose.yml内的端口映射规则即可。
内容的提问来源于stack exchange,提问作者user7554416
相关产品推荐
相关产品推荐

