我正在开发我的第一个R包(使用R 2.13,Ubuntu 10.10)。让我们把它富,让我们说,在R /目录下的代码开始与线库(栏),其中酒吧是现有的包,在CRAN,其上FOO依赖。我的描述文件包含行:如何在使用“R CMD INSTALL”安装R软件包时安装依赖关系?
Depends: bar
当包富是准备进行测试,我安装在本地使用:
R CMD INSTALL foo_1.0.tar.gz
但是,如果没有安装吧,我看到:
ERROR: dependency ‘bar’ is not available for package ‘foo’
显然,如果我富是使用install.packages()从CRAN安装,将同时安装。所以我的问题是:如果需要,我如何确保安装CRAN包bar当我使用R CMD INSTALL安装我的包foo?这是一个配置脚本的工作吗?
是的,我的理解是DESCRIPTION声明了依赖关系,但不安装它们。并且为tarball设置repos = NULL的问题是依赖包将不会从CRAN中获取。我试图让自己置身于下载和安装我的tarball的用户的脚下;他们是否应该阅读文档和错误消息或者是否有解决方案? – neilfws
解决方案是让您将软件包放在CRAN上,然后让用户执行install.packages并获得依赖关系。我想可能有一些原因,你为什么不能这样做。从tarballs安装不是一个“简单的用户”操作,所以它们不会被盗用,并且应该能够读取错误消息和文档。 – Spacedman
对。我猜测在本地测试时,我知道我有依赖关系,如果它发布到CRAN,CRAN会照顾依赖关系,所以确实没有问题:) – neilfws