我有一个本地存储的私有包(并通过SVN进行版本控制)。要安装软件包,我要求用户SVN更新他/她的软件包目录,然后更新目录上的<div class="flex-container">
<div class="flex-item">div a</div>
<div class="flex-item">div b</div>
<div class="flex-item">div a</div>
</div>
,然后setwd()
。
此程序包导入许多未在本地存储的CRAN程序包。这些导入的软件包在安装过程中不会自动安装,从而产生错误消息devtools::install()
。用户必须手动安装Dependency package foo not available
,然后再试一次,只是为了获得install.packages('foo')
,令人作呕,即使Dependency package bar not available
和foo
属于bar
详细信息:
我的描述文件如下:
Imports:
但是在调用Package: apackage
Type: Package
Title: Package to Do Stuff
Version: 1.11111
Date: 2017-03-02
Author: C8H10N4O2
Maintainer: C8H10N4O2<C8H10N4O2@example.com>
Description: Package that does many useful things
License: file LICENSE
Depends:
R (>= 3.3.0)
Imports:
bit64 (>= 0.9.5),
data.table (>= 1.9.6),
extrafont (>= 0.17),
foreach(>= 1.4.3),
ggplot2 (>= 2.0.0),
gbm (>= 2.1),
grid (>= 3.2.3),
gridExtra (>= 2.0.0),
httr (>= 1.1.0),
readxl (>= 0.1.1),
scales (>= 0.4.0),
xlsx (>= 0.5.7)
LazyData: true
RoxygenNote: 5.0.1
Suggests: testthat (>= 0.9.1)
或check()
时,我仍然会收到错误:
load_all()
然后我的用户必须Error in (function (dep_name, dep_ver = NA, dep_compare = NA) :
Dependency package gridExtra not available.
,然后他/她获得另一个依赖项不可用的错误。
我尝试了什么:
根据R packages:
此处列出的
install.packages('gridExtra')
个包必须存在于您的包中 工作。事实上,无论何时安装软件包,这些软件包 将在您的计算机上安装(如果尚未安装) (devtools :: load_all()还会检查是否已安装软件包。)
我还检查了Writing R Extensions,但无法在此主题上找到任何其他内容。
我是否认为这些软件包应该自动安装,我该怎么做才能确保它们自动安装?
我发现问题不完全可以重复,但我无法链接到我的回购,所以我很乐意提供任何其他详细信息。
Imports: