You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

golem开发的ShinyApp跨设备安装后读取文件时报DESCRIPTION缺失错误

报错原因

该错误由运行时查找R包DESCRIPTION文件失败触发:
本地开发阶段你的工作目录为golem项目根目录,自带符合^Package开头规则的DESCRIPTION文件,因此路径查找逻辑可以正常运行。当你将R包编译安装到其他设备后,用户启动ShinyApp时的默认工作目录为系统文档目录(即报错中提到的C:\Users\Della Rocca\Documents),该目录下不存在对应DESCRIPTION文件,因此触发报错。
报错的触发点为你调用的read_advise_lipidomics函数内部:你已确认传入的datapath路径正确,说明该函数内部使用了here::here()、rprojroot::find_package_root()、golem::get_golem_root()这类依赖DESCRIPTION定位项目根目录的路径函数,和用户侧的运行环境不兼容。
你看到的devtools::check文档警告和本次运行报错无关联,属于R包规范类问题。

解决方法
  • 优先修改read_advise_lipidomics函数的内部路径逻辑,移除所有依赖DESCRIPTION查找根目录的函数,所有路径拼接全部基于传入的datapath参数完成,读取文件统一使用file.path(datapath, "目标文件名")的格式。
  • 如果需要访问R包内置的静态文件(比如模板文件、参考数据等),不要使用相对项目根的路径,统一用system.file()函数调用,示例格式为system.file("extdata", "目标文件名", package = "你的R包名称"),该函数会自动匹配R包的安装位置生成正确的绝对路径,无需依赖运行时的工作目录。
  • 检查App全局代码中是否存在setwd(golem::get_golem_root())这类强制设置工作目录到项目根的逻辑,这类逻辑仅在开发环境生效,安装后运行时会触发错误,需要全部删除。
  • 可选修复文档警告:给对应函数的Rd文档补充缺失的参数说明,即可消除devtools::check的警告,符合R包开发规范。

内容的提问来源于stack exchange,提问作者Fabio DR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:36:01