我目前正在开发一个名为"package_name“(这是我的需求)的Golem闪亮应用程序,为此我创建的一些函数需要使用来自{furrr}和{future}包的函数。但是,每当我试图运行它们时,都会得到以下错误:
错误:没有名为“package_name”的包
请注意,任何不使用任何一个包的函数都可以很好地工作。
有人知道问题出在哪里吗?
谢谢!
发布于 2021-07-27 07:31:43
在使用{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()
})
})干杯,科林
https://stackoverflow.com/questions/68502816
复制相似问题