我目前正在开发一个名为“package_name”的 Golem Shiny 应用程序(这是我的要求),我创建的一些函数需要使用来自{furrr}
and {future}
包。
但是,每当我尝试运行它们时,都会收到以下错误:
错误:没有名为“package_name”的包
请注意,只要任何不使用这两个包的函数都可以正常工作。
有谁知道可能是什么问题?
Thanks !
在构建应用程序时{golem}
,您的计算机上未安装包含该应用程序的软件包。
当你使用{future}
,代码在里面运行另一个 R 会话,意味着对象被传输并库被重新加载。
但是,如果您尝试在未来使用当前应用程序中的功能,则需要使其“可移植”,并使用package_name::function()
将无法工作,因为您的软件包尚未安装。
假设你需要使用current_app_fun()
,在你的包中定义。
从技术上来说,{future}
将能够传输此功能,因为它使用{globals}
识别要传输到新 R 会话的对象。
observeEvent( input$bla , {
# future() will identify that it needs to
# transport current_app_fun()
future({
current_app_fun()
})
})
您还可以执行额外的步骤以格外小心:
observeEvent( input$bla , {
func_for_future <- current_app_fun
future({
func_for_future()
})
})
干杯,
科林
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)