You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决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")时,仍出现首次的"找不到文件或目录"报错。

解决步骤

  • 验证目标路径的正确性
    报错核心是目标目录不存在或路径错误。先检查:

    1. 替换路径中的user为你的真实Windows用户名,比如实际路径可能是C:/Users/John/Documents
    2. 用R代码验证目录是否存在:
      dir.exists("C:/Users/user/Documents")
      
      返回FALSE则说明路径错误,需修正为实际存在的目录。
  • 避免路径格式混用
    Windows绝对路径(C:/...)不能和相对路径前缀./混用,这会导致"Invalid argument"错误,直接使用完整绝对路径即可。

  • 切换到有权限的工作目录
    如果使用相对路径,先确认当前工作目录的写入权限:

    1. 查看当前工作目录:getwd()
    2. 切换到桌面等有权限的目录:
      setwd("C:/Users/user/Desktop")
      
    3. 再执行下载:
      download.file(url, "lax_to_jfk.tar.gz")
      
  • 检查目录写入权限
    部分系统的Documents文件夹可能有访问限制,尝试下载到桌面、下载文件夹等开放权限的目录,测试是否能成功。

内容的提问来源于stack exchange,提问作者ghada al yamani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 21:12:50