我是 Elixir 和 Erlang 的新手,所以我可能跳过了一些基本的东西,但是......
我正在尝试在 Elixir 中使用 RabbitMQ,并使用基于 Elixir 的库 (d0rc/exrabbit)
混合 deps.get 时,它会卡住两次。第一个问题是 dorc 的 exrabbit 在 elixir 0.10.2-dev 上运行,而我在 0.11.2 上运行......所以我只是想尝试强制它,以防万一它有效。也许这就是这里的问题:p
一旦我强迫部门接受长生不老药更高,第二个问题就出现了。
mix deps.get
* Compiling exrabbit
Compiled lib/exrabbit/behaviour.ex
Compiled lib/exrabbit/supervisor.ex
== Compilation error on file lib/exrabbit.ex ==
could not compile dependency exrabbit, mix compile failed. You can recompile this dependency with `mix deps.compile exrabbit` or update it with `mix deps.update exrabbit`
** (RuntimeError) error parsing file /Users/-----/dev/testmongo/_build/shared/lib/rabbit_common/include/rabbit_framing.hrl, got: {:error, :enoent}
/private/tmp/elixir-PzZu/elixir-0.11.2/lib/elixir/lib/record/extractor.ex:54: Record.Extractor.read_file/1
/private/tmp/elixir-PzZu/elixir-0.11.2/lib/elixir/lib/record/extractor.ex:32: Record.Extractor.retrieve_record/2
deps/exrabbit/lib/exrabbit.ex:10: (module)
deps/exrabbit/lib/exrabbit.ex:9: (file)
有问题的代码如下:
defmodule Exrabbit.Framing do
defrecord :'P_basic', Record.extract(:'P_basic', from_lib: "rabbit_common/include/rabbit_framing.hrl")
end
从我的角度来看,它似乎没有在正确的位置获取信息。
我检查并“rabbit_common/include/rabbit_framing.hrl”确实存在,但不在_build目录中,但在deps中。这对我来说很有意义。
我想如果 Record.extract 上有更新暗示这样的事情,我将不得不在 elixir 补丁说明中查找......我有什么遗漏的吗?
谢谢 !