如何解决R语言download.file()函数下载报错问题
R语言download.file下载文件报错排查方案
问题描述
执行以下R代码下载文件:
url <- "https://dax-cdn.cdn.appdomain.cloud/dax-airline/1.0.1/lax_to_jfk.tar.gz" download.file(url,"C:/Users/user/Documents/lax_to_jfk.tar.gz")
收到报错:
Warning messages: 1: In download.file(url, "C:/Users/user/Documents/lax_to_jfk.tar.gz") : URL https://dax-cdn.cdn.appdomain.cloud/dax-airline/1.0.1/lax_to_jfk.tar.gz: cannot open destfile 'C:/Users/user/Documents/lax_to_jfk.tar.gz', reason 'No such file or directory' 2: In download.file(url, "C:/Users/user/Documents/lax_to_jfk.tar.gz") : download had nonzero exit status
修改路径为"./C:/Users/user/Documents/lax_to_jfk.tar.gz"后,报错变为:
Warning messages: 1: In download.file(url, "./C:/Users/user/Documents/lax_to_jfk.tar.gz") : URL https://dax-cdn.cdn.appdomain.cloud/dax-airline/1.0.1/lax_to_jfk.tar.gz: cannot open destfile './C:/Users/user/Documents/lax_to_jfk.tar.gz', reason 'Invalid argument' 2: In download.file(url, "./C:/Users/user/Documents/lax_to_jfk.tar.gz") : download had nonzero exit status
使用download.file(url,"./lax_to_jfk.tar.gz")时,仍出现首次的"找不到文件或目录"报错。
解决步骤
验证目标路径的正确性
报错核心是目标目录不存在或路径错误。先检查:- 替换路径中的
user为你的真实Windows用户名,比如实际路径可能是C:/Users/John/Documents - 用R代码验证目录是否存在:
返回dir.exists("C:/Users/user/Documents")FALSE则说明路径错误,需修正为实际存在的目录。
- 替换路径中的
避免路径格式混用
Windows绝对路径(C:/...)不能和相对路径前缀./混用,这会导致"Invalid argument"错误,直接使用完整绝对路径即可。切换到有权限的工作目录
如果使用相对路径,先确认当前工作目录的写入权限:- 查看当前工作目录:
getwd() - 切换到桌面等有权限的目录:
setwd("C:/Users/user/Desktop") - 再执行下载:
download.file(url, "lax_to_jfk.tar.gz")
- 查看当前工作目录:
检查目录写入权限
部分系统的Documents文件夹可能有访问限制,尝试下载到桌面、下载文件夹等开放权限的目录,测试是否能成功。
内容的提问来源于stack exchange,提问作者ghada al yamani
相关产品推荐
相关产品推荐

