Windows上的R软件包检查问题:建议使用软件包,但不可用:'stringi'

时间:2018-07-21 07:07:50

标签: r dependencies package

我已经在MAC OS的RStuio中构建了一个R包,通过devtools :: check()检查它时,我没有遇到任何问题(0 Erros,0警告,0注)。

在Windows下测试时遇到问题。程序包中没有任何函数使用'stringi'程序包,但出现此错误:

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
print(df)

此错误仅在Windows下测试我的程序包时才会出现。我进行了一些网络搜索,但找不到合适的解决方案。我发现的唯一类似的东西是该论坛的早期帖子( Package dependency error "there is no package called ‘stringi’"),但没有提出适合我情况的解决方案。

我试图在程序包的“依赖”,“导入”或“建议”中添加“ stringi”,但这无法解决问题。在第二种情况下(导入),在检查软件包时,我收到一条错误消息,指出我的任何已实现函数均不需要'stringi'软件包。

有没有切实可行的解决方案?

可能会有所帮助,这些是我的软件包的描述中列为“导入”的软件包:

> E  checking package dependencies    Package suggested but not
> available: 'stringi'
>        The suggested packages are required for a complete check.    Checking can be attempted without them by setting the environment   
> variable _R_CHECK_FORCE_SUGGESTS_ to a false value.

1 个答案:

答案 0 :(得分:2)

包本身也可以具有依赖项, 成为包的传递依赖项。 您可以使用remotes包来查找它们:

library(remotes)
deps <- package_deps("ggplot2")
deps$package
 [1] "assertthat"   "cli"          "colorspace"   "crayon"       "dichromat"    "digest"       "fansi"        "ggplot2"     
 [9] "glue"         "gtable"       "labeling"     "lazyeval"     "magrittr"     "munsell"      "pillar"       "plyr"        
[17] "R6"           "RColorBrewer" "Rcpp"         "reshape2"     "rlang"        "scales"       "stringi"      "stringr"     
[25] "tibble"       "utf8"         "viridisLite"  "withr" 

您会看到ggplot2(暂时地)取决于stringi

您必须安装所有传递依赖项才能检查您的软件包, 在您要检查的每台机器上。 在RStudio中打开软件包项目后,您应该可以通过运行update(dev_package_deps(dependencies=TRUE))来做到这一点。

编辑:不过,在CRAN上更新软件包时,我也遇到了同样的问题, 一切正常需要几天的时间。 stringi已于昨天(2018-07-20)更新。