OpenCPU не может загрузить пространство имен 400 (неверный запрос) Ошибка в режиме сервера

Я написал пакет приложения OpenCPU и успешно протестировал его в режиме одного сервера. Сервер настроен, и он может найти приложение без проблем.

Но при некоторых вызовах 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/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/ и установил все отсутствующие пакеты в нужное место в библиотеке.

Затем некоторые импорты и зависимости этих зависимых пакетов не были установлены, поэтому я также установил их зависимости. Проблема решена!


person Theodore Van Rooy    schedule 18.02.2014    source источник
comment
Все ли зависимости доступны? Попробуйте просмотреть http://mydomain/ocpu/library/RDruid и т. д. Также проверьте /var/log/kern.log, если есть какие-либо PERMISSION DENIED ошибки.   -  person Jeroen    schedule 19.02.2014
comment
Это происходит постоянно или только для некоторых вызовов? Также может быть, что на вашем сервере не хватает памяти?   -  person Jeroen    schedule 19.02.2014
comment
У меня нет зависимостей, доступных в библиотеке ocpu. Скорее всего проблема в этом...   -  person Theodore Van Rooy    schedule 19.02.2014
comment
Хорошо, теперь все зависимости должны быть доступны, и в /var/log/kern.log ничего нет. Но все еще получаю ту же ошибку: когда я перехожу к mydomain/ocpu/library/userengagementdashboard/R Я получаю: не удалось загрузить пакет или пространство имен для 'userengagementdashboard' При вызове: NULL   -  person Theodore Van Rooy    schedule 19.02.2014
comment
Интересно, есть ли какая-то другая зависимость, которая отсутствует в одном из импортов...   -  person Theodore Van Rooy    schedule 19.02.2014
comment
Можете ли вы опубликовать в списке рассылки, как возникла эта проблема? Потому что это никогда не должно случиться.   -  person Jeroen    schedule 20.02.2014


Ответы (1)


Ваш пакет, вероятно, не загружается, потому что некоторые зависимости не установлены. Эта проблема обычно возникает, если файл 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 для установки зависимостей при установке вашего пакета.

person Jeroen    schedule 20.02.2014