R包中的非标准遥控器包INLA
Non-standard Remotes package INLA in R package
我有一个包需要 INLA, which is not hosted on CRAN or a standard GitHub repository. There are multiple SO questions detailing how to install the package on a personal machine, such as this, or even mentions it as a 。
通常推荐在个人计算机上安装的两种方式是:
直接来自 INLA 网站
install.packages("INLA",repos=c(getOption("repos"),INLA="https://inla.r-inla-download.org/R/stable"), dep=TRUE)
来自 GitHub 主机
devtools::install_github(repo = "https://github.com/hrue/r-inla", ref = "stable", subdir = "rinla", build = FALSE)
现在,这些适用于个人机器,但不适用于 DESCRIPTION 文件 Remotes:
部分。
如果我们这样做 url::https://inla.r-inla-download.org/R/stable
,则会出现无法识别文件扩展名的错误。
Error: Error: Failed to install 'unknown package' from URL:
Don't know how to decompress files with extension
如果我们这样做 github::hrue/r-inla
,我不知道如何传递(或者如果可能的话)ref
、subdir
和 build
参数描述文件。
以前的软件包使用托管在 GitHub 上的 INLA 代码的只读镜像,仅用于此目的,在此 repo,然后仅使用 github::inbo/INLA
。但是,此存储库已过时。
当前解决方案
我正在做的是直接引用主网页上托管的 tarball。
url::https://inla.r-inla-download.org/R/stable/src/contrib/INLA_21.02.23.tar.gz
此解决方案有效,并通过 CI 并且机器能够从那里安装和加载。唯一的问题是我需要定期将静态 link 更新到这个 tarball,并且更愿意参考稳定版本,或者直接从上面的 INLA 网站,或者 hrue/inla
repo 与其他论据通过。直接引用那些 links 还有一个好处,当我的包被重新安装在一台机器上时,它会识别该机器上是否安装了最新版本的 INLA。有没有办法在 DESCRIPTION 文件中实现这一点?
这不是一个完美的答案,但也许您可以从 github 的新 github 存储库中添加 INLA
稳定分支的 zip
url INLA
:-
url::https://github.com/hrue/r-inla/archive/refs/heads/stable.zip
因此,这将始终安装最新稳定版本的软件包。
我有一个包需要 INLA, which is not hosted on CRAN or a standard GitHub repository. There are multiple SO questions detailing how to install the package on a personal machine, such as this, or even mentions it as a
通常推荐在个人计算机上安装的两种方式是:
直接来自 INLA 网站
install.packages("INLA",repos=c(getOption("repos"),INLA="https://inla.r-inla-download.org/R/stable"), dep=TRUE)
来自 GitHub 主机
devtools::install_github(repo = "https://github.com/hrue/r-inla", ref = "stable", subdir = "rinla", build = FALSE)
现在,这些适用于个人机器,但不适用于 DESCRIPTION 文件 Remotes:
部分。
如果我们这样做 url::https://inla.r-inla-download.org/R/stable
,则会出现无法识别文件扩展名的错误。
Error: Error: Failed to install 'unknown package' from URL:
Don't know how to decompress files with extension
如果我们这样做 github::hrue/r-inla
,我不知道如何传递(或者如果可能的话)ref
、subdir
和 build
参数描述文件。
以前的软件包使用托管在 GitHub 上的 INLA 代码的只读镜像,仅用于此目的,在此 repo,然后仅使用 github::inbo/INLA
。但是,此存储库已过时。
当前解决方案
我正在做的是直接引用主网页上托管的 tarball。
url::https://inla.r-inla-download.org/R/stable/src/contrib/INLA_21.02.23.tar.gz
此解决方案有效,并通过 CI 并且机器能够从那里安装和加载。唯一的问题是我需要定期将静态 link 更新到这个 tarball,并且更愿意参考稳定版本,或者直接从上面的 INLA 网站,或者 hrue/inla
repo 与其他论据通过。直接引用那些 links 还有一个好处,当我的包被重新安装在一台机器上时,它会识别该机器上是否安装了最新版本的 INLA。有没有办法在 DESCRIPTION 文件中实现这一点?
这不是一个完美的答案,但也许您可以从 github 的新 github 存储库中添加 INLA
稳定分支的 zip
url INLA
:-
url::https://github.com/hrue/r-inla/archive/refs/heads/stable.zip
因此,这将始终安装最新稳定版本的软件包。