2013-11-23 2 views
0

2 Deps 사이 Record.extract에 도착하고, 얼랑, 그래서 내가 비약 내 RabbitMQ를 사용하기 위해 노력하고있어비약은 - 내가 엘릭서에 새로운 해요

... 기본 skiped 무언가를 가지고 있지만 수 없습니다 , Elixir 기반의 lib (d0rc/exrabbit)를 사용하십시오.

mix deps.get을 사용하면 두 번 걸리게됩니다. 첫 번째 문제는 dorc의 exrabbit가 0.10.2-dev의 elixir에서 작동하고 0.11.2에서 실행된다는 것입니다. Soooo는 단지 강제로 실행하려고 할뿐입니다. 어쩌면 그게 여기의 문제 일 것입니다 : p

두 번째 문제는 일단 디플렉스가 더 높은 엘릭서를 받아들이도록 강요하면옵니다.

defmodule Exrabbit.Framing do 
defrecord :'P_basic', Record.extract(:'P_basic', from_lib: "rabbit_common/include/rabbit_framing.hrl") 
end 

그것은 나의 관점에서 것, 그것은 바로 이곳에서 정보를 가져 오는되지 않도록 :

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) 

문제의 코드는 다음과 같다.

"rabbit_common/include/rabbit_framing.hrl"이 실제로 존재하지만 _build 디렉토리가 아니라 deps 내에 존재하는지 확인했습니다. 어떤 의미인지 나에게.

Record.extract에 대한 업데이트가있는 경우 필자는 elixir 패치 노트를 살펴 봐야 할 것 같습니다. 누락 된 부분이 있습니까?

감사합니다.

답변

3

Elixir에는 새로운 빌드 스타일로 이동할 때 include가 작동하지 않는 버그가 있습니다. 이 버그가 수정 된 Elixir 마스터를 시도해보십시오 (문제가 생겨서 죄송합니다!).

+0

안녕하세요, Elixir 마스터를 사용해 보았지만 성공하지 못했습니다. 현재 헤드 커밋은 f4144a63f835b91cf4c3d9f38166480bb2ea59d3입니다. (내가 옳은 일을했는지, 나는 단순히 repo에서 복제하고, make하고, 직접 프로젝트를 컴파일하기 위해 elixir/bin/mix를 사용했다.) – Kluthen57

+0

모든 depency를 새로 설치 한 후 고마워했다. – Kluthen57

0

왜 그런 오류가 발생하는지 정확히 알 수는 없습니다. cthulhuology/Amqp 패키지를 사용하여 매우 비슷한 문제가 발생했으며 다음과 같은 문제가 발생했습니다. https://github.com/cthulhuology/Amqp/pull/1

그러나 exrabbit은 대부분 올바르게 작동하는 것 같습니다. 확신 할 수는 없지만 희망적인 점은 PR이 나를 위해 동일한 오류를 해결했기 때문에 PR이 도움이 될 수 있다는 것입니다.

+0

호세 발림 (José Valim)이 말했듯이, 당신의 차이점에서 보았을 때, 당신은 간단히 당신의 엘릭서 버전을 업그레이드했지만, 그것은 나에게 효과가 없었습니다 ... 신선한 설치를 시도 할 것입니다 :) – Kluthen57

+0

방금 ​​이것을 보았습니다. ... 또한 from.lib 대신'from_lib'를 사용하기 위해 Record.extract 호출을 수정했습니다. –

관련 문제