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
1.3 から 1.4 へのバージョンアップ手順はこちらを利用した。
ueberauth 本体は対応したもののの、oauth2 などが対応できていないため、ueberauth_github や ueberauth_google はどうやらまだ Poison なしには動かない状況のようだった。

最終的にわかったこととしては現時点ではまだ周辺ライブラリが Poison 依存の状態になってしまっているようなので、諦めて Poison も入れておくことにした。状況が変わったらそのうち追記する。
mix.exs
1 2 3 4 5 6 7 | 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 へのバージョンアップ手順はこちらを利用した。
2019/01/19現在の ueberauth まわりの対応状況
ueberauth の master には対応する pull request がマージされているもののまだこれは publish されていない。対応の pull request はこれ。ueberauth 本体は対応したもののの、oauth2 などが対応できていないため、ueberauth_github や ueberauth_google はどうやらまだ Poison なしには動かない状況のようだった。
コメント
コメントを投稿