我创建了我的第一个R包,并有一个问题。
程序包在我的计算机上成功运行。但是,如果我的用户(没有所需的软件包)运行我的软件包,他们将收到错误消息,说明所需的软件包不可用。当他们从CRAN手动安装该软件包时,我的软件包就可以正常工作。
根据Hadley Wickam的书(http://r-pkgs.had.co.nz/description.html):
导入:此处列出的软件包必须存在才能使您的软件包正常运行。事实上,无论何时安装软件包,这些软件包(如果尚未安装)都将安装在您的计算机上(devtools :: load_all()还会检查软件包是否已安装)。
我将所有必需的软件包放在 DESCRIPTION 的 Imports 字段中。怎么没有自动安装所需的包?在使用我的用户之前,我的用户是否需要安装所有必需的软件包?
其他背景:
我做了什么:
谢谢!
答案 0 :(得分:1)
您可以尝试使用
devtools::install_deps()
或
devtools::install_deps("pkg_version.tar.gz")
然而,这个功能似乎存在一些问题,例如: https://github.com/r-lib/devtools/issues/1370
替代方法是使用链接问题中建议的drat
。
答案 1 :(得分:0)
刚刚发现未安装依赖项,因为我的软件包未从CRAN存储库安装。
使用devtools::install_local("pkgname.tar.gz")
将安装软件包和任何依赖项。