Imports 字段中的命名空间未从以下位置导入:‘rlang’‘shinydashboard’,我应该写@importFrom rlang rlang 还是@importFrom rlang

Namespaces in Imports field not imported from: ‘rlang’ ‘shinydashboard’, Should I write @importFrom rlang rlang or @importFrom rlang

当我执行 devtool::check(cran=TRUE)rhub::check() 时,它显示

R CMD check results 
0 errors| 0 warnings| 0 notes.

但是,当这个包被上传到CRAN时,它说

Check Details
Version: 0.2.0
Check: dependencies in R code
Result: NOTE
    Namespaces in Imports field not imported from:
     ‘rlang’ ‘shinydashboard’
     All declared Imports should be used.

我检查了我使用了“rlang”和“shinydashboard”的部分。

原来是在package_name/inst/shiny/app/ui.R,而不是在package_name/R

我尝试添加 #' @importFrom shinydashboard shinydashboard#' @importFrom rlang rlangpackage_name/inst/shiny/app/ui.R和运行devtools::document()更新namespace,然而,这2个功能根本没有出现

因此,我将这 2 个 #' @importFrom 添加到 package_name/R,然后更新 namespace

1.我想知道这是否意味着我只能在 package_name/R

中使用 @importFrom

2。我使用 library(shinydashboard) 并生成了名为 shinydashboard 的包,所以我应该写 #' @importFrom shinydashboard shinydashboard 还是 #' @importFrom shinydashboard **

3。当我在 CRAN 上上传此更改时,我应该将包版本从 0.2.0 更改为 0.2.1 还是应该保留 0.2.0.

4。为什么devtool::check(cran=TRUE)不能帮我解决这个问题?

您可以将 rlangshinydashboard 移动到描述文件的 Suggests 部分。