使用foxx manager

时间:2016-08-04 14:10:40

标签: ubuntu amazon-ec2 arangodb foxx

我使用Ubuntu(14.04)在AWS上创建了EC2实例。我正在尝试使用foxx manager安装arangodb应用程序。我用putty连接到它。我使用sudo apt-get install arangodb安装了arangodb。我也从ubuntu机器上的git获得了项目。当我尝试使用 foxx-manager install安装应用程序时。 / DataSandbox 它给出错误

“StdOut:ArangoError 3103:无法调用模块。
文件:/var/lib/arangodb-apps/_db/_system/DataSandbox/APP/controllers/Reports.js
原因:ArangoError 3100:无法定位模块
文件:存储库/报告“

当我检查文件存储库/报告它存在时,当我检查/ var / lib / arangodb-apps路径时,它就在那里,直到Datasandbox像/ var / lib / arangodb-apps / _db / _system / DataSandbox /。在arangodb-apps中,Datasandbox文件夹为空。

我在不是从AWS创建的不同ubuntu机器上执行的相同过程。在它上面已成功安装。

任何人都可以指导我这个错误找不到模块

先谢谢。

1 个答案:

答案 0 :(得分:2)

您能否澄清一下您看到的两台机器(即它所使用的机器和它没有运行的机器)是否运行相同版本的ArangoDB以及您使用的是哪个版本? / p>

该错误表示requirecontrollers/Reports.js的{​​{1}}来电无法解决repositories/Reports。如果它使用的计算机运行的是旧版本的ArangoDB,那么您可能会对require解析某些名称的方式有所改变:https://www.arangodb.com/2015/11/foxx-module-resolution-will-change-in-2-8/

我认为你在控制器中确实有这样的表达式:

require('repositories/Reports')

这在2.8及更高版本中不起作用,因为它将尝试找到一个名为" repositories / Reports"的第三方或ArangoDB模块。并失败。

而应该是从控制器文件到存储库文件的相对路径:

require('../repositories/Reports')