【发布时间】:2017-04-12 23:30:59
【问题描述】:
我想通过 amqp 从我的 elixir phoenix 应用程序中使用 rabbitMQ。我按照official website 上的教程进行操作,但在mix.deps compile 期间仍然出现错误:
include/amqp_gen_consumer_spec.hrl:30: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:31: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:32: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:34: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:35: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:36: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:37: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:38: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:39: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:42: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:30: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:31: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:32: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:34: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:35: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:36: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:37: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:38: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:39: syntax error before: '/'
include/amqp_gen_consumer_spec.hrl:42: syntax error before: '/'
Compiling src/amqp_selective_consumer.erl failed:
ERROR: compile failed while processing /home/bmarkons/soc2016-marko/telegram/deps/amqp_client: rebar_abort
** (Mix) Could not compile dependency :amqp_client, "/usr/bin/rebar compile skip_deps=true deps_dir="/home/bmarkons/soc2016-marko/telegram/_build/dev/lib"" command failed. You can recompile this dependency with "mix deps.compile amqp_client", update it with "mix deps.update amqp_client" or clean it with "mix deps.clean amqp_client"
我在 mix.exs 文件中只添加了 :amqp 和 {:amqp, "~> 0.1.4"}:
def application do
[mod: {App, []},
applications: [:phoenix, :phoenix_pubsub, :phoenix_html, :cowboy, :logger, :gettext,
:phoenix_ecto, :postgrex, :amqp]]
end
defp deps do
[{:phoenix, "~> 1.2.0"},
{:phoenix_pubsub, "~> 1.0"},
{:phoenix_ecto, "~> 3.0"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 2.6"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:gettext, "~> 0.11"},
{:cowboy, "~> 1.0"},
{:amqp, "~> 0.1.4"}]
end
我需要做哪些改变,才能让我的 elixir 应用与 rabbitMQ 一起使用?
谢谢
【问题讨论】:
-
嗯,这很奇怪。您是否尝试过清理依赖项?
mix deps.clean --all然后是mix deps.get和mix deps.compile。另外,您使用的是哪个版本的 Elixir? -
我使用的是 Elixir 1.3.1。我也尝试过,但仍然出现错误。
-
Erlang 版本是多少?
-
运行 erl -eval 'erlang:display(erlang:system_info(otp_release)), halt()。 -noshell 给我 '19'。
-
非常感谢,我刚刚在 rabbitmq-users google group 上得到了相同的答案。干杯:)
标签: linux rabbitmq phoenix-framework elixir