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

Mac系统下R调用sftp包报错libcurl不支持sftp协议如何解决

该报错的核心原因是Mac设备上当前安装的libcurl库未启用SFTP协议支持,stenevang/sftp包底层依赖curl库的协议支持能力,按以下步骤操作即可解决:

方案一:重新安装带SFTP支持的curl环境

  • 第一步:安装Homebrew版本的curl(默认已启用SFTP支持)
    打开终端执行命令:
    brew install curl
    安装完成后执行curl -V,若输出内容中包含sftp关键字即为安装成功。
  • 第二步:配置系统优先使用Homebrew安装的curl
    若使用zsh(MacOS 10.15+默认shell),终端依次执行:
    echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    若使用bash,终端依次执行:
    echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.bash_profile
    source ~/.bash_profile
    注意:M系列芯片的Mac需要将路径中的/usr/local替换为/opt/homebrew
  • 第三步:源码重装R的curl包,关联新版libcurl
    打开R控制台执行:
    install.packages("curl", type = "source")
  • 第四步:验证修复效果
    重新执行原有的SFTP连接、下载代码即可正常运行。

方案二:改用不依赖libcurl的SFTP实现(无需调整系统环境)

可直接使用R的ssh包完成SFTP操作,示例代码如下:

library(ssh)
# 建立SFTP连接
sftp_con <- ssh_connect(host = "username@sftp.name.com:2222", password = "password")
# 下载当前目录所有文件
scp_download(sftp_con, files = "*")
# 关闭连接
ssh_disconnect(sftp_con)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:15:04