首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R包中的非标准远程包INLA

R包中的非标准远程包INLA
EN

Stack Overflow用户
提问于 2021-07-30 10:09:19
回答 1查看 92关注 0票数 1

我有一个需要INLA的包,它不是托管在CRAN或标准GitHub存储库上的。有多个SO问题详细说明了如何在个人计算机(如this )上安装软件包,甚至将其作为dependency in a package提及。

通常建议在个人计算机上安装的两种方法是:

直接从INLA网站

代码语言:javascript
复制
install.packages("INLA",repos=c(getOption("repos"),INLA="https://inla.r-inla-download.org/R/stable"), dep=TRUE)

从GitHub主机

代码语言:javascript
复制
devtools::install_github(repo = "https://github.com/hrue/r-inla", ref = "stable", subdir = "rinla", build = FALSE)

现在,这些文件适用于个人计算机,但不适用于描述文件Remotes:部分。

如果我们执行url::https://inla.r-inla-download.org/R/stable,这将给出一个错误,即文件扩展名无法识别。

代码语言:javascript
复制
 Error: Error: Failed to install 'unknown package' from URL:
  Don't know how to decompress files with extension 

如果我们使用github::hrue/r-inla,我不知道如何在描述文件中传递(或者甚至是可能的) refsubdirbuild参数。

以前的包使用了托管在GitHub上的INLA代码的只读镜像,完全出于这个目的,在这个repo上,然后只使用github::inbo/INLA。但是,此存储库已过期。

当前解决方案

相反,我要做的是直接引用主页上托管的tarball。

代码语言:javascript
复制
url::https://inla.r-inla-download.org/R/stable/src/contrib/INLA_21.02.23.tar.gz

这个解决方案是有效的,并且通过CI,并且机器能够从那里安装和加载。唯一的问题是,我需要定期更新这个tarball的静态链接,并且更喜欢引用稳定的构建,或者直接从上面的INLA网站,或者使用传递的其他参数的hrue/inla代码库。直接引用这些链接还有一个好处,那就是当我的包重新安装在一台机器上时,它会识别该机器上是否安装了最新版本的INLA。有没有办法在描述文件中实现这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-03 15:09:42

这不是一个完美的答案,但也许你能做的是从INLA的新github存储库添加INLA的稳定分支的zip url:

代码语言:javascript
复制
url::https://github.com/hrue/r-inla/archive/refs/heads/stable.zip

因此,这将始终安装包的最新稳定版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68589179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档