我已经在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.
答案 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)更新。