Rap*_*ter 7 dependencies packages r cran
对于我编写的代码,我倾向于明确而非隐含.因此,在设法创建自己的软件包之后,我立即想到的另一件事是如何最好地确保代码的健壮性和可靠性.部分原因与我的包依赖的包有关.
在这方面:是否可以明确说明需要/期望哪个版本的包依赖?
我正在寻找不需要说明文件的实际路径的zip方法(当然这很容易就可以实现),但只是利用仅install.packages标明包名称的"标准行为" (可能还有一些)参考所需的版本).
我已经检查了写R扩展,看看我的选项是关于文件的Depends部分DESCRIPTION,希望有一个类似的机制,用于说明所需的R版本(例如R (>= 2.15.2)).但我没有发现任何类似的包依赖:
"Depends"字段提供了此包所依赖的包名称的逗号分隔列表.包名称后面可以选择括号中的注释.注释应包含比较运算符,空格和有效的版本号.
在例如,如果软件只为R版本2.11.0或更高版本,包括"R(> = 2.11.0)" - 你也可以使用特殊的包名"R"如果你的包依赖于一定的R版本'取决于'字段.您也可以要求对R-devel的或R-修补,例如某些SVN版本 'R(> = 2.14.0),R(> = r56550)' 需要一个版本晚于2011年7月下旬(的R-devel的包括发布版本2.14.0).这两个库,将R包检查设施使用这个字段:因此它是用语法不当或滥用"Depends中"字段,可能需要对其他软件的意见错误.其他依赖项(R系统外部)应列在"SystemRequirements"字段中,可能在单独的README文件中放大.
将R INSTALL设施检查如果R所使用的版本是软件包足够最近正在安装,并指定将附加软件包当前包之前(检查版本要求后)的名单,无论是在图书馆被称为和准备时在安装过程中进行延迟加载.
然后我也看了一眼,install.packages并希望像version争论一样,但我想没有.
我非常清楚,我的问题的目标可能对比度通过地方(至少我猜)CRAN包库某些包的新版本只是"否决"以前的和分发和安装软件包讨论R的理念install.packages()总是拿起最新的一个可用.从最终用户隐藏版本特性以避免使事情变得过于复杂也很有意义.
然而,关于尽可能编写强大代码的目标,恕我直言,非常明确地陈述事物也是有意义的.或者至少可以选择这样做.
你确实用过Depends.例如:
Depends: R (>= 2.15.0), foo (== 1.17-12)
Run Code Online (Sandbox Code Playgroud)
将依赖于大于或等于2.15.0的R版本并且在包foo等于1.17-12.
(至少如果我理解正确的话,你要明确声明你的包只适用于x.yy-zz包foo的版本.)
我不确定这对最终用户有多大帮助; 您可能会强迫他们维护单独的软件包库,以便使用您的软件包来维护您规定的确切版本.
| 归档时间: |
|
| 查看次数: |
1575 次 |
| 最近记录: |