2011-12-01 240 views
5

我正在开发一个R软件包,它依赖于用户系统上安装的另一个R软件包。在安装时安装软件包所需的R软件包

我添加了一个取决于:在描述文件PKGNAME进口(PKGNAME)在命名空间。我希望这会做的是检查是否已经安装pkgname,如果没有安装.package(pkgname,repos =“CRAN或Rforge,或者包装的任何地方是”),如果不是。

但是在我的包的安装尝试,我得到的错误:

ERROR: dependency 'pkgname' is not available for package 'mypkg' 

有谁知道如何实现PKGNAME的安装,应该pkgname需要不是已经在系统上?

非常感谢

+0

如果您从包中导入,则应将'Imports:pkgname'放在DESCRIPTION中不依赖。如果软件包是从CRAN安装的,它将会工作。 –

回答

4

在该R CMD的帮助文件安装有没有提到一个标志,如果需要依赖于安装额外的软件包。如果您将软件包提交给CRAN,则可以解决您的问题,因为install.packages可以解决任何依赖关系。 install.packages不支持从本地文件安装时解决依赖关系。

在您提交给R-forge或CRAN之前,我认为只需在README文件中添加一条备注即可,即需要添加一些附加软件包。您甚至可以发布包含所需install.packages命令的R代码片段。

+0

谢谢!我一定会添加关于人们需要为包工作做什么的澄清文档。真正有用的是知道,一旦包装在CRAN/R-forge上,进口就可以工作:)。 – Sebastian

+0

是的,虽然请注意,从R-forge的相关程序安装在CRAN上的软件包有一点问题(我认为:也许有人可以对解决方法发表评论),反之亦然... –

+0

我的一些依赖甚至可能生活在bioconductor ^^ – Sebastian