执行dotnet workload安装maui-android报错:设备无剩余空间但实际有空间
解决dotnet安装maui-android时的"No space left on device"错误
以下是针对该问题的排查和解决步骤:
1. 修正sudo环境下的临时目录路径
使用sudo执行命令时,$(HOME)会解析为root用户的home目录(/root),而非当前用户的/home分区。如果/root所在的分区空间不足,就会触发空间不足错误——即便你的/home分区有大量剩余空间。
- 验证路径:执行
sudo echo $HOME,若输出为/root,则问题源于此。 - 解决方式:改用绝对路径指定临时目录,假设你的用户home路径是
/home/your-username,命令改为:sudo dotnet workload install maui-android --temp-dir /home/your-username/.temp
2. 检查磁盘inode是否耗尽
即便磁盘剩余空间充足,若inode(文件索引节点)被耗尽,也会提示"No space left on device"。
- 检查inode使用情况:执行
查看df -i /homeIUse%列,若显示100%,说明inode已耗尽。 - 解决方式:清理/home下的大量小文件,比如:
- 清理nuget缓存:
dotnet nuget locals all --clear - 删除过期日志文件:
sudo rm -rf /var/log/*old
- 清理nuget缓存:
3. 确保临时目录权限正确
确认root用户对指定的.temp目录有读写权限:
- 设置权限:
完成后重新执行安装命令。sudo chmod 755 ~/.temp
4. 清理dotnet缓存后重试
如果上述方法无效,清理dotnet本地缓存后重新安装:
dotnet nuget locals all --clear sudo dotnet workload install maui-android --temp-dir /home/your-username/.temp
内容的提问来源于stack exchange,提问作者Taskavan
相关产品推荐
相关产品推荐

