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

多服务器运行R语言future_map时遇“找不到map_函数”错误求助

解决map_函数找不到的错误

错误原因

这个报错是因为furrr版本与依赖的purrr版本不兼容导致的——future_map底层调用的map_函数在新版purrr中已被移除,旧版furrr依赖这个过时的函数,因此触发找不到函数的错误。

具体解决方法

  • 更新相关包到最新版本
    执行以下代码更新本地的furrr、purrr和future包:

    install.packages(c("furrr", "purrr", "future"))
    

    新版furrr已适配purrr的新API,不会再调用废弃的map_函数。

  • 同步集群节点的包版本
    由于你使用了分布式集群(margot和bakunin两台机器),必须确保所有worker节点上的furrr、purrr、future包版本与本地完全一致。可以在每个集群节点上运行packageVersion("furrr")检查版本,不一致的话在节点上执行上述更新命令。

  • 显式指定future_map的返回类型(可选)
    如果更新包后仍有问题,可改用指定返回类型的future_map变体,避免底层调用模糊的map_函数。比如你的.f函数返回数值,可修改为:

    # 原代码
    y <- furrr::future_map(x, .f = .f)
    # 修改为
    y <- furrr::future_map_dbl(x, .f = .f)
    

额外提示

你的代码逻辑本身没有问题,核心问题出在分布式环境下的包版本不匹配,或是使用了过时的furrr版本,同步所有节点的包版本是最关键的解决步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:57:10