我编写了一个OpenCPU应用程序包,并已在单服务器模式下成功测试过它。服务器已设置,它可以找到应用程序没有问题。
但是使用以下内容(来自Chrome JS控制台)的某些ocpu调用出错:
POST http://mydomain/ocpu/library/userengagementdashboard/R/metricsList 400 (Bad Request) jquery-1.10.2.min.js:6
OpenCPU error HTTP 400
package or namespace load failed for 'userengagementdashboard'
In call:
NULL
未在单用户服务器模式下获得这些错误。
如果我检查http:// mydomain
/ ocpu / library / userengagementdashboard / NAMESPACE我得到:
export(aggregatePlot)
export(clusterFun)
export(facetPlot)
export(facetsList)
export(getDataAll)
export(getDataFacet)
export(getDataTime)
export(getDataTimeFacet)
export(mergeClusters)
export(metricsList)
export(timeFacetPlot)
export(timePlot)
import(RDruid)
import(ggplot2)
import(lubridate)
import(parallel)
import(plyr)
import(reshape)
我的进口可能有问题吗?
更新:
感谢Jeroen建议我可能没有所有依赖项。
首先,我查看了http:// mydomain
/ ocpu / library /下的依赖项,并将所有缺少的软件包安装到正确的库位置。
然后还没有安装这些依赖包的一些导入和依赖项,所以我也安装了它们的依赖项。问题解决了!
答案 0 :(得分:0)
您的软件包可能无法加载,因为未安装某些依赖项。如果NAMESPACE
文件导入未在DESCRIPTION
文件中声明的依赖项,则通常会出现此问题。因此,如果您的NAMESPACE
包含:
import(RDruid)
import(ggplot2)
import(lubridate)
import(parallel)
import(plyr)
import(reshape)
比DESCRIPTION
需要包含一行:
Imports: Druid, ggplot2, lubridate, parallel, plyr, reshape
R软件包管理器会在安装软件包时查看DESCRIPTION
以安装依赖项。