2011-12-01 443 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