2016-12-26 7 views
0

elixir 1.3.3とphoenix 1.2.1の下でmix phoenix.serverを実行するとこのエラーが発生します:私はからのアドバイスに従うことを試みたhttps://github.com/oarrabi/phoenix_facebook_echo_botはElixir 1.3.3とPhoenix 1.2.1で動作しません

[email protected]:~/elixir/phoenix_facebook_echo_bot$ mix phoenix.server 
==> httpotion 
Compiling 1 file (.ex) 

== Compilation error on file lib/httpotion.ex == 
** (ArgumentError) Access is not a protocol 
    (elixir) lib/protocol.ex:76: Protocol.assert_protocol!/2 
    lib/httpotion.ex:292: (module) 
    (stdlib) erl_eval.erl:670: :erl_eval.do_apply/6 

could not compile dependency :httpotion, "mix compile" failed. You can recompile this dependency with "mix deps.compile httpotion", update it with "mix deps.update httpotion" or clean it with "mix deps.clean httpotion" 

:私はdeps.update --allを混在行う際myfreeweb/httpotion#87

はその後、私は次のエラーを得た:

[email protected]:~/elixir/phoenix_facebook_echo_bot$ mix deps.update --all 
Running dependency resolution 

Failed to use "httpotion" (versions 3.0.0 to 3.0.2) because 
    facebook_messenger (versions 0.2.0 and 0.3.0) requires ~> 2.2 
    mix.exs specifies ~> 3.0.0 

Failed to use "poison" (version 2.2.0) because 
    phoenix (version 1.2.1) requires ~> 1.5 or ~> 2.0 
    phoenix_facebook_messenger (versions 0.1.0 and 0.3.0) requires ~> 2.1.0 

** (Mix) Hex dependency resolution failed, relax the version requirements of your dependencies or unlock them (by using mix deps.update or mix deps.unlock). If you are unable to resolve the conflicts you can try overriding with {:dependency, "~> 1.0", override: true} 

この「ループイン」を解決するために何をするべきかアドバイスしてくださいg依存性エラー "?

+0

'rm -rf _build && mixコンパイル'を試してください –

答えて

1

Accessは、Elixir 1.0.5の前にprotocolであった。 Elixir 1.1.0で始まり、Accessbehaviourに変更されました。

phoenix_facebook_echo_botするAccessを期待して、順番に後者がエリクシール1.0の上に構築されたHTTPotionバージョン2が必要です。

コードを実行する唯一の簡単なオプションは、Elixir v1.0.5をインストールしてこのパッケージで再生することです。

その他のオプションは、パッケージのクローンを作成するだけでなく、それが上の関係facebook_messengerパッケージとHTTPotionバージョン3`を必要とし、実行しようとするために、彼らのmix.exsファイルを変更することです(私は成功を保証するものではありません。)

関連する問題