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

R-4.3.3(Windows)下curl_download下载NCBI FTP文件失败求助

Windows下R-4.3.3从NCBI下载FTP文件的解决方案

报错原因

curl_download的报错是因为C:\Windows目录需要管理员权限才能写入,curl下载时会自动创建临时文件,普通用户权限无法在该目录操作,导致失败。


解决方案

1. 更换可写入的目标路径

将下载路径改为用户拥有写入权限的目录(如个人文档、桌面),避免使用系统目录:

library(curl)
url <- "ftp://ftp.ncbi.nlm.nih.gov/refseq/M_musculus/mRNA_Prot/mouse.1.protein.faa.gz"
# 替换为你的桌面路径(需修改用户名)
tmp <- "C:/Users/你的用户名/Desktop/mouse.1.protein.faa.gz"
curl_download(url, tmp)

也可以用R的用户目录简写~,自动指向你的个人文件夹:

tmp <- "~/mouse.1.protein.faa.gz"
curl_download(url, tmp)

2. 使用download.file指定curl方法

既然wininet的FTP功能失效,可直接让download.file调用curl方法(Windows版R-4.3.3通常自带curl):

url <- "ftp://ftp.ncbi.nlm.nih.gov/refseq/M_musculus/mRNA_Prot/mouse.1.protein.faa.gz"
tmp <- "~/mouse.1.protein.faa.gz"
download.file(url, destfile = tmp, method = "curl", mode = "wb")

注:mode="wb"用于确保二进制压缩文件的正确写入。

3. 手动指定临时文件目录

若坚持使用原目标路径,可通过curl_options指定有权限的临时目录:

library(curl)
url <- "ftp://ftp.ncbi.nlm.nih.gov/refseq/M_musculus/mRNA_Prot/mouse.1.protein.faa.gz"
tmp <- "C:/Windows/Temp.curl"
# 用R默认临时目录(普通用户可写入)
h <- new_handle(tempdir = tempdir())
curl_download(url, tmp, handle = h)

内容的提问来源于stack exchange,提问作者user24533042

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:55:03