投稿

1月, 2019の投稿を表示しています

Phoenix 1.4 に上げたら ueberauth で Poison.decode!/1 is undefined って言われた

イメージ
最近趣味のアプリで Phoenix 1.3 を 1.4 に上げたら ueberauth_github の認証時に Poison.decode!/1 is undefined というエラーになるようになってしまって困った。 最終的にわかったこととしては現時点ではまだ周辺ライブラリが Poison 依存の状態になってしまっているようなので、諦めて Poison も入れておくことにした。状況が変わったらそのうち追記する。 mix.exs defp deps do [{:phoenix, "~> 1.4.0"}, ... {:jason, "~> 1.0"}, + {:poison, "~> 3.1.0"}, ] end Phoenix の JSON パーサーのデフォルトは Jason になった 1.4 にバージョンアップするときに phoenix の json パーサーとして 1.4 からのデフォルトである Jason を使うように指定し、Poison を依存から外した。 1.3 から 1.4 へのバージョンアップ手順はこちらを利用した。 https://gist.github.com/chrismccord/bb1f8b136f5a9e4abc0bfc07b832257e 2019/01/19現在の ueberauth まわりの対応状況 ueberauth の master には対応する pull request がマージされているもののまだこれは publish されていない。対応の pull request はこれ。 https://github.com/ueberauth/ueberauth/pull/88 ueberauth 本体は対応したもののの、oauth2 などが対応できていないため、ueberauth_github や ueberauth_google はどうやらまだ Poison なしには動かない状況のようだった。 https://github.com/ueberauth/ueberauth_github/issues/43 https://g