1

我已经使用 Ubuntu(14.04) 在 AWS 上创建了 EC2 实例。我正在尝试使用 foxx manager 安装 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:找不到模块
文件:存储库/报告”

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

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

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

提前致谢。

4

1 回答 1

2

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

该错误表明存在无法解决的require调用controllers/Reports.jsrepositories/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')

于 2016-08-04T16:17:39.147 回答