验证基于旧版Rcpp 1.0.8构建R模拟包的方法是否可行
测试R包在Rcpp 1.0.8上的构建可行性
你的测试步骤是可行的,为了确保测试结果准确,补充几个细节建议:
- 安装Rcpp 1.0.8时,直接从CRAN归档源码安装,避免自动拉取最新版:
install.packages("https://cran.r-project.org/src/contrib/Archive/Rcpp/Rcpp_1.0.8.tar.gz", repos = NULL, type = "source") - 建议创建独立的临时库目录存放Rcpp 1.0.8,避免和现有库中的新版Rcpp冲突:
# 创建临时库 temp_lib <- file.path(tempdir(), "old_rcpp_lib") dir.create(temp_lib, recursive = TRUE) # 安装指定版本到临时库 install.packages("https://cran.r-project.org/src/contrib/Archive/Rcpp/Rcpp_1.0.8.tar.gz", lib = temp_lib, repos = NULL, type = "source") # 将临时库设为优先路径 .libPaths(c(temp_lib, .libPaths())) - 构建前先验证当前使用的Rcpp版本:
packageVersion("Rcpp") # 应返回1.0.8 - 用
devtools::check()替代devtools::build(),除了构建包,还能自动运行包内测试和合规检查,更全面验证兼容性 - 测试结束后,恢复原有库路径,避免影响后续R会话:
.libPaths(.libPaths()[-1])
内容的提问来源于stack exchange,提问作者snaut
相关产品推荐
相关产品推荐

