Golem Shiny应用Namespace未更新,依赖包被移除问题咨询
为什么运行
attachment::att_amend_desc()会移除依赖包? 核心原因
attachment::att_amend_desc()的工作逻辑是扫描你包内所有R代码文件,只保留代码里实际被调用的依赖包,而非保留你手动通过usethis::use_package()添加的所有包。
你手动添加了7个包,但控制台提示移除8个,说明你的DESCRIPTION文件里原本就存在1个额外的依赖包(大概率是golem模板初始化时自带的shiny)。这8个包目前都没有在你的R代码里被实际使用(比如没写shinydashboard::dashboardHeader()、dplyr::select()这类调用代码),所以attachment会自动清理这些“未被使用的依赖”。
解决办法
- 先在你的模块文件、server/ui脚本里实际使用这些依赖包的函数,比如写
library(shinydashboard)或者用命名空间调用dplyr::mutate() - 再次运行
attachment::att_amend_desc(),此时它会识别到代码中实际用到的包,并保留在DESCRIPTION里 - 如果有计划后续使用但暂时未写代码的包,可以手动用
usethis::use_package("包名", type = "Imports")添加,同时可以在DESCRIPTION里给这些包加注释,或者修改attachment的配置规则,但更推荐用到再添加,避免依赖冗余
内容的提问来源于stack exchange,提问作者Dieu94
相关产品推荐
相关产品推荐

