R 包依赖项未从Additional_repositories 安装

Cha*_*lie 5 r package

我正在开发一个包,需要另一个包 OpenMx 的命名空间。该包只能从它自己的存储库中获得,但在Additional_repositories 字段中指定该存储库不起作用。当尝试在未安装 OpenMx 的情况下构建我的包时,我得到:

\n\n

错误:依赖项“OpenMx”不可用于等等

\n\n

是我的描述有问题,还是我需要做其他事情?

\n\n

我的描述文件的相关部分:

\n\n
Depends: R (>= 3.0.0)\nImports:  MASS, OpenMx (>= 2.0)\nAdditional_repositories: http://openmx.psyc.virginia.edu/OpenMx2/\nLazyData: Yes\nVignetteBuilder: knitr\nSuggests: knitr\n
Run Code Online (Sandbox Code Playgroud)\n\n

来自构建尝试的日志:

\n\n
Thu Apr  2 18:08:10 2015: Building tarball for package ctsem (SVN revision 5)\nusing R version 3.1.3 Patched (2015-03-16 r67994) ...\n\n* checking for file \xe2\x80\x98ctsem/DESCRIPTION\xe2\x80\x99 ... OK\n* preparing \xe2\x80\x98ctsem\xe2\x80\x99:\n* checking DESCRIPTION meta-information ... OK\n* installing the package to build vignettes\n      -----------------------------------\n* installing *source* package \xe2\x80\x98ctsem\xe2\x80\x99 ...\n** R\n** data\n*** moving datasets to lazyload DB\n** inst\n** preparing package for lazy loading\nError in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : \n  there is no package called \xe2\x80\x98OpenMx\xe2\x80\x99\nERROR: lazy loading failed for package \xe2\x80\x98ctsem\xe2\x80\x99\n* removing \xe2\x80\x98/tmp/RtmpAHPlFq/Rinst5272759a2048/ctsem\xe2\x80\x99\n      -----------------------------------\nERROR: package installation failed\nRun time: 1.09 seconds.\n
Run Code Online (Sandbox Code Playgroud)\n

Dir*_*tel 3

AFAIKAdditional_repositories仍然是一个自由格式字段,不会自动添加到和 因此或 的options("repos")咨询中。download.packages()install.packages()update.packages()

对于在 CRAN 之外添加存储库的问题,我编写了一个小帮助程序包drat,包括我自己在内的一些人使用它在 GitHub(“默认”模式,因为它很容易通过gh-pages)或任何其他 http- 上托管存储库。可访问的服务器——即公司或工作组内的本地服务器。Drat 没有做任何特别困难的事情,但是对于添加用户存储库的默认情况,例如,openmx您所需要的只是,drat::addRepo("openmx")其余部分是从默认值推断出来的(并假设drat帐户中openmx存在存储库)。

我部署了两个用例:通过 GitHub 上的存储库和工作本地存储库来部署较新的软件包。

编辑:但是 WRE 说

“Addiitonal_repositories”字段是一个以逗号分隔的存储库 URL 列表,可以在其中找到其他字段中指定的包。目前,“R CMD 检查”使用它来检查是否可以找到包,至少可以作为源包(可以安装在任何平台上)。

这意味着它看起来在那里。奇怪的。并且该存储库在给定的 URL 上看起来是合法的。

编辑 2:我向 R Core 发送了一个补丁,以解决上述引用中的拼写错误。