r - 在当前工作目录或具有 `pool` 和 `golem` 的父目录中找不到配置文件
问题描述
我正在尝试pool
在我的 Shinygolem
应用程序中使用该包。
我稍微更新了默认值golem-config.yml
:
default:
golem_name: mygolem
golem_version: 0.0.0.9000
app_prod: no
default_programs: !expr c(1:10000)
db_host: mydata.us-west-2.rds.amazonaws.com
db_name: efs
dev:
golem_wd: !expr here::here()
default_programs: !expr c(1:10000)
db_host: mydata-new.us-west-2.rds.amazonaws.com
db_name: efs
production:
default_programs: !expr c()
db_host: mydata-new.us-west-2.rds.amazonaws.com
db_name: efs
app_prod: yes
为了使用pool
,我有一个R/globals.R
包含单个调用的文件:
pool <- pool::dbPool(
RMySQL::MySQL(),
dbname = get_golem_config("db_name"),
host = get_golem_config("db_host"),
username = Sys.getenv("DB_USERNAME"),
password = Sys.getenv("DB_PASSWORD")
)
我的.Renviron
文件在我的项目根文件夹中。
当我部署到 Shinyapps.io 时,我无法弄清楚为什么我不断收到此错误:
Config file not found in current working directory or parent directories
它在本地构建良好。而且,当我用文件中的实际值进行硬替换时dbname
,它的构建和部署都很好。host
golem-config.yml
因此get_golem_config()
,导致此错误的函数存在某些问题。这是我的功能:
get_golem_config <- function(value, config = Sys.getenv("R_CONFIG_ACTIVE", "default"), use_parent = TRUE) {
config::get(value = value,
config = config,
file = app_sys("golem-config.yml"),
use_parent = use_parent
)
}
app_sys
是一个简单的包装器system.file
,package
参数由我自己的包名预先填充。
我认为这与config::get
,因为当我globals.R
将文件编辑为:
pool <- pool::dbPool(
RMySQL::MySQL(),
dbname = config::get(value = "db_name",
config = Sys.getenv("R_CONFIG_ACTIVE", "default"),
file = app_sys("golem-config.yml"),
use_parent = TRUE
),
host = config::get(value = "db_host",
config = Sys.getenv("R_CONFIG_ACTIVE", "default"),
file = app_sys("golem-config.yml"),
use_parent = TRUE
),
username = Sys.getenv("DB_USERNAME"),
password = Sys.getenv("DB_PASSWORD")
)
错误返回。
解决方案
推荐阅读
- python - 在 python 中更新 XML 标记值
- flutter - Flutter:内部带有图像的动态对话框大小
- javascript - 什么原因,提交后没有更改道具?
- azure-data-explorer - 使用 replace() 时无法将参数 2 转换为标量常量
- aem - 单击 cq-FileUpload-clear 时的事件侦听器
- linkedin - 如何获取linkedIn账户的用户名
- angular - 无法设置 Angular 材质 matColumnDef 属性
- vb.net - 如何检查邮件正文是否包含密码并从电子邮件正文中提取?
- c# - 如何从 Azure Blob 获取文件大小
- python - Django 管理页面样式