如何解决使用SDKMAN安装Gradle 4.4时出现的错误
解决SDKMAN安装Gradle 4.4时的写入/文件缺失错误
问题重现
执行sdk install gradle 4.4时出现以下错误:
Downloading: gradle 4.4 In progress... Warning: Failed to open /home/user/.sdkman/tmp/gradle-4.4.headers.tmp curl: (23) Failed writing received data to disk/application mv: unable to get status '/home/user/.sdkman/tmp/gradle-4.4.bin': Missing file or directory
环境信息:
- SDKMAN 5.16.0
- Ubuntu v20.04
解决方案
1. 修复SDKMAN临时目录权限
SDKMAN的tmp目录权限异常会导致写入失败,执行以下命令检查并修复:
# 查看目录权限 ls -ld /home/user/.sdkman/tmp # 赋予当前用户读写执行权限 chmod -R u+rwx /home/user/.sdkman/tmp # 若目录不存在则创建并设置归属 mkdir -p /home/user/.sdkman/tmp && chown user:user /home/user/.sdkman/tmp
2. 检查磁盘剩余空间
磁盘空间不足会触发curl写入失败,执行命令查看分区使用情况:
df -h
如果/home分区已占满,清理无用文件(如旧日志、缓存、未使用的SDK包)后再尝试安装。
3. 手动下载并安装Gradle 4.4
跳过SDKMAN的自动下载流程,手动完成安装:
- 下载Gradle 4.4的二进制压缩包
- 解压到SDKMAN的Gradle候选目录:
mkdir -p /home/user/.sdkman/candidates/gradle/4.4 unzip gradle-4.4-bin.zip -d /home/user/.sdkman/candidates/gradle/4.4 --strip-components 1 - 验证安装:
sdk use gradle 4.4 gradle -v
4. 切换SDKMAN的下载工具
curl可能存在配置问题,尝试让SDKMAN使用wget下载:
export SDKMAN_CURL_CMD=wget sdk install gradle 4.4
内容的提问来源于stack exchange,提问作者Giovane
相关产品推荐
相关产品推荐

