使用 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')
我已经使用 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')