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 へのバージョンアップ手順はこちらを利用した。

2019/01/19現在の ueberauth まわりの対応状況

ueberauth の master には対応する pull request がマージされているもののまだこれは publish されていない。対応の pull request はこれ。


ueberauth 本体は対応したもののの、oauth2 などが対応できていないため、ueberauth_github や ueberauth_google はどうやらまだ Poison なしには動かない状況のようだった。

コメント

このブログの人気の投稿

PostgreSQLで多次元配列を1次元配列に展開したい

inotify でファイル監視しようず!

ジャックパーセルのかかとの内側を直した