.arangosh.rc 未来源于 Mac OSX

.arangosh.rc not sourced on Mac OSX

我正在关注 ArangoDB 文档,目前正在关注 ArangoDB Shell 配置部分;在这里,他们描述了一个来自您的主目录的 .arangosh.rc 文件,将自定义代码放入 arango shell 的全局范围。按照 T 的文档,我在我的主目录 ~/.arangosh.rc 中创建了一个 .arangosh.rc 文件并添加了示例函数

timed = function (cb) {
  var internal = require("internal");
  var start = internal.time();
  cb();
  internal.print("execution took: ", internal.time() - start);
};

我试过退出并重新启动 arango shell 以及完全重新启动我的终端会话,但我无法让 arangosh 获取 rc 文件。当我尝试调用 timed() 时,我得到一个

ReferenceError: timed is not defined

Blockquote

据我所知,采购 ~/.arangosh.rc 的条件在 2.6 的某处发生了变化,但这对我来说似乎是一个错误。我已经在 2.7、2.8 和 devel 分支中恢复了该更改,因此文件现在将从那里获取。修复将包含在下一个正式版本中。

如果您想在此之前应用它,2.7 的提交 ID 是 8e85a2fbb67c8c50c75cf93aefb7365e1e9fd7d1

看起来在 2.7 中,rc 文件中的任何 "globals" 都需要附加到 global 对象。例如,

timed = function (cb) { ... };

应该变成

global.timed = function (cb) { ... };

我也更新了 the docs 以反映这一变化。