【问题标题】:Namespaces in Imports field not imported from: ‘rlang’ ‘shinydashboard’, Should I write @importFrom rlang rlang or @importFrom rlangImports 字段中的命名空间不是从:“rlang”“shinydashboard”导入的,我应该写@importFrom rlang rlang 还是@importFrom rlang
【发布时间】:2020-08-03 18:01:18
【问题描述】:

当我执行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 rlang in package_name/inst/shiny/app/ui.R 并运行devtools::document() 更新namespace,但是这两个函数根本没有出现。

因此,我将这两个#' @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) 不能帮我解决这个问题?

【问题讨论】:

    标签: r package github-pages cran


    【解决方案1】:

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

    【讨论】:

    • 另外,当我在 CRAN 上上传此更改时,我应该将包版本从 0.2.0 更改为 0.2.1 还是应该保留 0.2.0?感谢您的帮助。
    • 你的意思是我不需要用importFrom在Namespace文件中添加包的名称吗?但如果是这样,命名空间根本不会改变。但正如注释所示,这需要解决。
    • 如果你已经在 cran 上安装了这个包,你应该更新版本号。该应用程序是您软件包的重点吗?如果不是,我只会在应用程序文件的开头写 library(rlang/shinydashboard)。
    • 是的,您不需要添加包的名称。要生成新的命名空间,请删除 importFrom 语句并运行 devtools::document()。如果这没有更新命名空间,请将其删除并再次运行 devtools::document()。
    猜你喜欢
    • 1970-01-01
    • 2018-08-18
    • 2021-06-21
    • 2021-09-23
    • 2019-12-11
    • 2021-06-20
    • 1970-01-01
    • 2017-10-26
    • 2019-01-24
    相关资源
    最近更新 更多