1

bundle exec rake在本地运行所有测试都很好。然而,Travis CI 在Problem accessing /authentication没有提供更多信息的情况下不断爆发。这是失败的构建之一:https ://travis-ci.org/Nase00/Horizo​​n/builds/48094102对于我的一生,我无法弄清楚 Travis 尝试运行时导致身份验证错误的原因bundle exec rake

这是项目回购:https ://github.com/Nase00/Horizo​​n

4

1 回答 1

1

我不确定 Neo4j Travis 使用什么版本(更新:他们使用 1.9.4,不支持),但我猜它比 Neo4j.rb 支持的版本要旧一些。我是核心维护者之一,构建了 Neo4j 2.2 auth 支持,这让你感到困惑,但我用不同的版本对其进行了测试,回到早期的 2.1 颠覆并没有遇到任何问题。

最好的做法是根本不使用 Travis 的 Neo4j。相反,将 Travis 配置为安装用于开发和生产的数据库的相同版本。作为奖励,安装 Neo 的 rake 任务也会在 2.2 中禁用身份验证,因此您根本不必处理这个问题。并不是我们反对 auth,而是我们认为 rake 安装和配置任务是开发/测试环境的便利功能,而不是生产环境,所以没有 auth 似乎是一个合理的默认值。

看看我们的.travis.yml文件,看看我们是如何进行安装的。https://github.com/neo4jrb/neo4j/blob/master/.travis.yml。可以解决您的问题的摘要:

script:
  - "bundle exec rake neo4j:install['community-2.2.0-M02'] neo4j:start default --trace"
language: ruby
rvm:
  - 2.0.0

交换community-2.2.0-M02您要使用的任何版本。我必须再次检查,但据我记得,我们与早在 2.1.2 的版本兼容。对于没有在我们的文档中发布的内容,我深表歉意——应该如此。

非常强烈推荐使用带有 Neo4j.rb 的 Ruby 2.2.0。我们在 Cypher 查询期间生成了很多符号,否则这些符号不会被垃圾收集。

编辑更多信息

auth 模块做的第一件事是检查身份验证 REST 端点的存在。在我测试的所有 Neo4j 版本中,它没有给出这样的错误,它只是返回一个空的主体,我们将其解释为不支持或禁用 auth 的标志。

后果编辑

Travis 支持确认他们提供的 Neo4j 版本是 1.9.4。

于 2015-01-24T03:20:03.080 回答