当我构建,加载和运行自己的软件包时,如果我事先使用"library(shinyBS("加载shinyBS,它只会使用shinyBS功能,否则工具提示不起作用..尽管Shiny应用程序可以工作(尽管ShinyBS功能(,但可以通过浏览器控制台看到网页错误。(关于一些丢失的文件。闪亮BS.css和闪亮BS.js(
所以问题是:我怎样才能生成、部署和运行我自己的闪亮软件包,而无需强迫用户事先加载 shinyBS(做'库(shinyBS('(?!
谢谢!
向 R 包添加依赖项的常用方法是在DESCRIPTION
文件的"Imports
"字段中添加包。这是Hadley Wickam介绍的一个版本。
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
然后,您需要指定包中实际需要shinyBS
包中的哪些函数,并在NAMESPACE
文件中importsFrom
。或者,您也可以导入所有shinyBS
函数
import(shinyBS)
但是,在shinyBS
的情况下,由于为该包定义onLoad/onAttach
钩子的方式,您实际上需要将依赖项放在Depends
字段中。有关更多尾巴,请参阅此处。因此,您的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
是解决您所描述问题的可行解决方法。
你应该使用NAMESPACE
来声明你需要在包中加载shinyBS
。
例如,在您的NAMESPACE
文件中,您应该执行以下操作:
import(shinyBS)
此外,正如@r2evans所注意到的,您应该在DESCRIPTION
文件的Imports
部分添加shinyBS
:
Imports: shinyBS
有关更多信息,请查看 Hadley Wickam 的 R 包网站:http://r-pkgs.had.co.nz/namespace.html#imports。