2015-10-17 112 views
1

我正在构建一个R包并将其发布到github上。它应该依靠stringr ...然而,尽管它添加到“依赖”和“进口”的说明部分,它似乎已经自动安装的问题(是找stringr在github也?)。添加非github依赖到github R包?

这里是我运行命令(想象一个新的[R安装):

install.packages("devtools") 
devtools::install_github("tcarpenter216/packagename") 

[替换上面“包名”我的包名称] ...这是返回以下错误:

Downloading GitHub repo tcarpenter216/[email protected] 
Error in pull_off("#(.*)$") : 
    cannot open file   '/Users/tcarpenter/Library/R/3.2/library/stringr/R/stringr.rdb': No such file or directory 

任何想法如何把依赖托管在GitHub上一包?这显然是我做错了吗?

+2

你必须有命名空间中的文件的东西,太。你不能只把它放在描述 – rawr

+2

错误。依赖关系进入'描述'。 –

回答

3

你是混乱的包,包的依赖性,什么库如CRAN可以做 - 只需滴代码到GitHub上。

GitHub的源代码库做解决依赖关系。

GitHub源代码存储库是而不是 R代码存储库。

但是,你可以将它们变成这样的R代码库,这就是我的drat包(在CRAN和GitHub上)所做的。所以请参阅包中的简单文档。它填补了你在这里确定的空白。

+0

谢谢。澄清(因为我不是100%确定我在追随),....所以如果我有一个发布在GitHub上的包,我无法让它从CRAN“自动安装”依赖关系? – tcarpenter

+0

如果这些相关软件包位于您的R会话知道的回购站上,则可以通过'install.packages()'安装依赖项。所以,简单地说,如果你有在GitHub上一个DRAT一个包,从其他已知的回购它的依赖(即CRAN,同样DRAT,其他回购你已经宣布,...),那么它的工作原理 - 因为'install.packages() '支持。 –

+0

明白了。那么,如何将“install.packages()”命令添加到我的软件包中,让它按照您的说法进行操作?我会把它放在一个函数中吗? – tcarpenter