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

R4.2.0运行rrpack包出现.Call函数不可用报错如何解决

问题描述
  • 运行环境:R 4.2.0
  • 使用包:rrpack
  • 触发过程:初始环境下Rcpp版本为1.0.6,缺少rrpack运行所需依赖函数,手动将Rcpp升级至1.0.8.3后,加载运行rrpack触发以下报错:
Error in .Call("_rrpack_lasso_shooting", PACKAGE = "rrpack", xtx, xty,  : "_rrpack_lasso_shooting" not available for .Call() for package "rrpack"
  • 已排查内容:
    • 现有公开的同类报错解决方案均面向包开发者,常见修复点为NAMESPACE文件缺失dynLib(packagename)配置
    • 检查roxygen2生成的相关配置文件未发现异常,无适配普通终端用户场景的解决方案
    • CRAN平台当前rrpack包的全环境官方检查结果均为正常,无法确认问题是否可在用户侧修复
解决方案

这个报错在普通用户场景下,核心原因是升级核心编译依赖Rcpp后,原已安装的rrpack是基于旧版Rcpp预编译的二进制版本,C++接口符号不匹配,和包开发场景下配置错误触发的报错提示完全一致,不需要修改包内部配置,按以下顺序操作即可修复:

  1. 彻底清理旧版本残留
    完全退出R会话后重新打开,不要加载历史工作空间,执行命令卸载现有rrpack:
    remove.packages("rrpack")
    
  2. 源码重装rrpack匹配现有Rcpp版本
    提前配置好编译环境:Windows用户安装对应R4.2版本的Rtools并添加到系统PATH,macOS用户执行xcode-select --install安装Xcode命令行工具,之后执行命令从源码编译安装rrpack,自动适配当前已升级的Rcpp版本:
    install.packages("rrpack", type = "source")
    
  3. 若仍报错,同步更新所有编译类依赖
    执行全量源码更新,保证所有带C++编译组件的依赖包版本和当前Rcpp版本对齐,更新完成后重复前两步操作:
    update.packages(ask = FALSE, type = "source")
    
  4. 备选方案:回退Rcpp版本
    如果当前环境下源码编译始终失败,可以直接将Rcpp回退到初始的1.0.6版本,从CRAN归档目录下载Rcpp 1.0.6源码包本地安装即可,无需升级Rcpp也能正常运行rrpack。

验证方法:安装完成后执行library(rrpack),无报错即修复完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 18:54:32