2014-02-18 21 views
1

我寫了一個OpenCPU應用程序包,並已成功在單服務器模式下對其進行測試。服務器已安裝,它可以找到應用程序沒有問題。OpenCPU無法加載命名空間400(錯誤請求)服務器模式下的錯誤

但它的示數出來的一些ocpu與調用下面(Chrome的JS控制檯):

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 /庫/ 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) 

有一個問題,我可能進口?

UPDATE:

解決了這個感謝的Jeroen的建議,我也許沒有所有的依賴。

首先,我查看了http:// mydomain/ocpu/library /下的依賴關係,並將所有缺少的程序包安裝到正確的庫位置。

然後,這些相關軟件包的一些導入和依賴項尚未安裝,因此我也安裝了它們的依賴項。問題解決了!

+0

是否所有依賴關係都可用?嘗試查看'http:// mydomain/ocpu/library/RDruid'等。如果有'PERMISSION DENIED'錯誤,請查看'/ var/log/kern.log'。 – Jeroen

+0

它是一致發生還是隻發生一些呼叫?也可能是你的服務器內存不足? – Jeroen

+0

我沒有ocpu庫中的可用依賴項。這可能是問題... –

回答

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在安裝包時安裝的依賴。

相關問題