使用 foxx 管理器安装 arrangoDB 应用程序时出错

Error while installing arrangoDB application using foxx manager

我已经使用 Ubuntu(14.04) 在 AWS 上创建了 EC2 实例。我正在尝试使用 foxx 管理器安装 arangodb 应用程序。我已经使用腻子连接到它。我已经使用 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: cannot locate module
文件:repositories/Reports"

当我检查文件 repositories/Reports 时,它存在,当我检查 /var/lib/arangodb-apps 路径时,它一直存在,直到像 /var/lib/arangodb-apps/_db/_system/DataSandbox/ 这样的 Datasandbox。 arangodb-apps 中的 Datasandbox 文件夹为空。

我在不同的 ubuntu 机器上执行的相同过程不是从 AWS 创建的。这样就安装成功了。

谁能指导我解决这个错误找不到模块

提前致谢。

你能澄清一下你看到不同结果的两台机器(即一台它工作和一台不工作)是否是 运行 相同版本的 ArangoDB 以及你使用的是哪个版本正在使用?

错误表明 controllers/Reports.js 中有一个 require 调用无法解决 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')