从装有devtools

时间:2015-08-19 21:37:39

标签: r shiny devtools shinyjs

这是一个非常具体的问题。

我有一个简单的Shiny应用程序,使用最新版本的R(3.2.2),RStudio(0.99.473),所有软件包都是最新的,在Windows 7和Ubuntu 14.04中都经过测试。同样的事情发生在两个SO中。

我有一个函数库,我将其嵌入到"包"中,并使用正确创建的DESCRIPTION文件。我使用devtools来加载这个包。所以,我非常简单的Shiny应用中的第一行代码是

library("devtools")
load_all("../../RTEMP");

因为我计划在Shiny应用程序中使用其中一些功能。包名实际上不是RTEMP,我暂时创建它以隔离问题。这个临时包在RTEMP / R /,something.r中有一个文件。该文件包含一行代码:

AA <- setRefClass("AA");

所以我创建的引用类只包含一个名称(我的原始代码依赖于此类型的R对象)。我没有对包装做任何事情,只需加载它。

在打开RStudio后第一次运行Shiny应用程序时,它运行正常。如果我关闭应用程序并再次打开它,我会收到以下错误消息:

ERROR: shinyjs: you cannot mix named and unnamed arguments in the same function call

奇怪的是,如果我将我的Shiny应用的开头改为:

#library("devtools")
#load_all("../../RTEMP");
AA <- setRefClass("AA");

因此,在Shiny应用程序内注释包加载和设置引用类,一切正常。

当我从装有devtools的软件包中调用setRefClass时会出现问题,但是当我直接从Shiny调用它时却没有。此外,我可以第一次加载它,但不能加载第二次(Shiny Window只显示上面的错误信息)。

可能导致此错误的任何想法?

非常感谢。

1 个答案:

答案 0 :(得分:0)

com.google.android.gms:play-services-ads:7.3.0包中的实际问题是导致与devtools不兼容。我提交了这个bug report,希望在下一个版本中不会发生这种情况。

如果您在Shiny中遇到类似的错误消息,则其他包(或您自己的包)中可能还有其他需要命名空间的函数。