当我构建、加载和运行我自己的包时,只有在我预先使用‘shinyBS ( shinyBS )’加载库的情况下,它才是使用库功能,否则工具提示不起作用。(关于一些缺少的files..shinyBS.css和shinyBS.js)
所以问题是:我如何才能生成、部署和运行我自己的闪亮的包,而不强制用户预先加载库( shinyBS ) ?!
谢谢!
发布于 2018-10-06 00:01:01
将依赖项添加到R包的通常方法是在DESCRIPTION文件的Imports字段中添加包。以下是来自Hadley Wickam's introduction的改编版本。
Package: mypackage
Title: What The Package Does (one line, title case required)
Version: 0.1
Authors@R: person("First", "Last", email = "first.last@example.com",
role = c("aut", "cre"))
Description: What the package does (one paragraph)
Depends: R (>= 3.1.0), shiny
Imports: shinyBS
License: What license is it under?
LazyData: true然后,您需要在NAMESPACE文件中的importsFrom包中指定shinyBS包中的哪些函数是实际需要的。或者,也可以使用导入所有shinyBS函数
import(shinyBS)但是,在shinyBS的情况下,由于为该包定义onLoad/onAttach挂钩的方式,您实际上需要将依赖项放在Depends字段中。有关更多dertails,请参阅here。因此,您的DESCRIPTION文件应该类似于以下示例
Package: mypackage
Title: What The Package Does (one line, title case required)
Version: 0.1
Authors@R: person("First", "Last", email = "first.last@example.com",
role = c("aut", "cre"))
Description: What the package does (one paragraph)
Depends: R (>= 3.1.0), shiny, shinyBS
License: What license is it under?
LazyData: true这是非常不寻常的,在我看来,这个问题应该从shinyBS开发人员那里解决。但是,同时使用Depends字段来确保附加了shinyBS是您所描述的问题的可行解决方法。
发布于 2018-10-04 22:33:19
您应该使用NAMESPACE声明需要在包中加载shinyBS。
例如,在您的NAMESPACE文件中,您应该这样做:
import(shinyBS)此外,正如@r2evans所指出的,您应该在DESCRIPTION文件的Imports部分添加shinyBS:
Imports: shinyBS有关更多信息,请查看Hadley Wickam:http://r-pkgs.had.co.nz/namespace.html#imports的R包网站。
https://stackoverflow.com/questions/52649138
复制相似问题