phoenix_pagination

Build log

nerves_system_x86_64

phoenix_pagination 0.7.0 · fail · run phoenix_pagination-0.7.0-1791063058504
675 of 675 lines
1Resolving Hex dependencies...2Resolution completed in 0.196s3Unchanged:4  circular_buffer 1.1.05  db_connection 2.10.26  decimal 3.1.17  ecto 3.14.28  ecto_sql 3.14.09  elixir_make 0.10.010  interactive_cmd 0.1.411  mime 1.6.012  nerves 2.0.0-pre.213  nerves_discovery 0.1.514  nerves_logging 0.2.415  nerves_runtime 0.13.1316  nerves_system_bbb 2.30.217  nerves_system_br 1.34.418  nerves_system_mangopi_mq_pro 0.17.219  nerves_system_qemu_aarch64 0.4.220  nerves_system_rpi0 2.1.221  nerves_system_rpi4 2.1.222  nerves_system_rpi5 2.1.223  nerves_system_trellis 0.5.024  nerves_system_x86_64 1.34.225  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.126  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.127  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.128  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.129  nerves_toolchain_x86_64_nerves_linux_musl 15.3.130  nerves_uevent 0.1.731  phoenix_html 2.14.3 VULNERABLE!32    GHSA-5g2h-9x5v-5h3x (MEDIUM)33    aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q234    phoenix_html allows Cross-site Scripting in HEEx class attributes35    https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x36  phoenix_pagination 0.7.037  plug 1.11.1 VULNERABLE!38    EEF-CVE-2026-8468 (HIGH)39    aka: CVE-2026-8468, GHSA-468c-vq7p-gh6440    Unbounded buffer accumulation in multipart header parsing causes denial of service in plug41    https://osv.dev/vulnerability/EEF-CVE-2026-84684243    EEF-CVE-2026-56813 (LOW)44    aka: CVE-2026-56813, GHSA-wpmj-jh88-rpgm45    Cookie attribute injection in Plug.Conn.Cookies.encode/246    https://osv.dev/vulnerability/EEF-CVE-2026-568134748    EEF-CVE-2026-56814 (MEDIUM)49    aka: CVE-2026-56814, GHSA-95qv-c9g9-rm6350    Plug: multipart :length limit is not charged for part headers, enabling unbounded temp-file creation (denial of service)51    https://osv.dev/vulnerability/EEF-CVE-2026-5681452  plug_crypto 1.2.553  property_table 0.3.454  ring_logger 0.11.755  tablet 0.3.356  telemetry 0.4.357  toolshed 0.5.058  uboot_env 1.0.259* Getting phoenix_pagination (Hex package)60* Getting nerves (Hex package)61* Getting ring_logger (Hex package)62* Getting toolshed (Hex package)63* Getting nerves_runtime (Hex package)64* Getting nerves_system_bbb (Hex package)65* Getting nerves_system_mangopi_mq_pro (Hex package)66* Getting nerves_system_qemu_aarch64 (Hex package)67* Getting nerves_system_rpi0 (Hex package)68* Getting nerves_system_rpi4 (Hex package)69* Getting nerves_system_rpi5 (Hex package)70* Getting nerves_system_trellis (Hex package)71* Getting nerves_system_x86_64 (Hex package)72* Getting nerves_system_br (Hex package)73* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)74* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)75* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)76* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)77* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)78* Getting nerves_logging (Hex package)79* Getting nerves_uevent (Hex package)80* Getting uboot_env (Hex package)81* Getting elixir_make (Hex package)82* Getting property_table (Hex package)83* Getting circular_buffer (Hex package)84* Getting interactive_cmd (Hex package)85* Getting nerves_discovery (Hex package)86* Getting tablet (Hex package)87* Getting ecto_sql (Hex package)88* Getting phoenix_html (Hex package)89* Getting plug (Hex package)90* Getting mime (Hex package)91* Getting plug_crypto (Hex package)92* Getting telemetry (Hex package)93* Getting db_connection (Hex package)94* Getting decimal (Hex package)95* Getting ecto (Hex package)96Found packages with security advisories, see above for details97==> db_connection98Compiling 18 files (.ex)99Generated db_connection app100==> ecto101Compiling 56 files (.ex)102Generated ecto app103==> ecto_sql104Compiling 25 files (.ex)105Generated ecto_sql app106==> plug107Compiling 1 file (.erl)108warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"109  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2110  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1111  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5112  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2113  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4114  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2115116Compiling 41 files (.ex)117    warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead118    │119  6 │   custom_statuses = Application.get_env(:plug, :statuses, %{})120    │                                 ~121    │122    └─ lib/plug/conn/status.ex:6:33: Plug.Conn.Status (module)123124    warning: Application.get_env/2 is discouraged in the module body, use Application.compile_env/3 instead125    │126  4 │   if Application.get_env(:plug, :mimes) do127    │                  ~128    │129    └─ lib/plug/mime.ex:4:18: Plug.MIME (module)130131     warning: unused require Bitwise132     │133 105 │   require Bitwise134     │   ~135     │136     └─ lib/plug/csrf_protection.ex:105:3137138    warning: unused require Logger139    │140 39 │   require Logger141    │   ~142    │143    └─ lib/plug/request_id.ex:39:3144145    warning: using single-quoted strings to represent charlists is deprecated.146    Use ~c"" if you indeed want a charlist or use "" instead.147    You may run "mix format --migrate" to change all single-quoted148    strings to use the ~c sigil and fix this warning.149    │150 77 │     'ECDHE-RSA-AES256-GCM-SHA384',151    │     ~152    │153    └─ lib/plug/ssl.ex:77:5154155    warning: using single-quoted strings to represent charlists is deprecated.156    Use ~c"" if you indeed want a charlist or use "" instead.157    You may run "mix format --migrate" to change all single-quoted158    strings to use the ~c sigil and fix this warning.159    │160 78 │     'ECDHE-ECDSA-AES256-GCM-SHA384',161    │     ~162    │163    └─ lib/plug/ssl.ex:78:5164165    warning: using single-quoted strings to represent charlists is deprecated.166    Use ~c"" if you indeed want a charlist or use "" instead.167    You may run "mix format --migrate" to change all single-quoted168    strings to use the ~c sigil and fix this warning.169    │170 79 │     'ECDHE-RSA-AES128-GCM-SHA256',171    │     ~172    │173    └─ lib/plug/ssl.ex:79:5174175    warning: using single-quoted strings to represent charlists is deprecated.176    Use ~c"" if you indeed want a charlist or use "" instead.177    You may run "mix format --migrate" to change all single-quoted178    strings to use the ~c sigil and fix this warning.179    │180 80 │     'ECDHE-ECDSA-AES128-GCM-SHA256',181    │     ~182    │183    └─ lib/plug/ssl.ex:80:5184185    warning: using single-quoted strings to represent charlists is deprecated.186    Use ~c"" if you indeed want a charlist or use "" instead.187    You may run "mix format --migrate" to change all single-quoted188    strings to use the ~c sigil and fix this warning.189    │190 81 │     'DHE-RSA-AES256-GCM-SHA384',191    │     ~192    │193    └─ lib/plug/ssl.ex:81:5194195    warning: using single-quoted strings to represent charlists is deprecated.196    Use ~c"" if you indeed want a charlist or use "" instead.197    You may run "mix format --migrate" to change all single-quoted198    strings to use the ~c sigil and fix this warning.199    │200 82 │     'DHE-RSA-AES128-GCM-SHA256'201    │     ~202    │203    └─ lib/plug/ssl.ex:82:5204205    warning: using single-quoted strings to represent charlists is deprecated.206    Use ~c"" if you indeed want a charlist or use "" instead.207    You may run "mix format --migrate" to change all single-quoted208    strings to use the ~c sigil and fix this warning.209    │210 86 │     'ECDHE-RSA-AES256-GCM-SHA384',211    │     ~212    │213    └─ lib/plug/ssl.ex:86:5214215    warning: using single-quoted strings to represent charlists is deprecated.216    Use ~c"" if you indeed want a charlist or use "" instead.217    You may run "mix format --migrate" to change all single-quoted218    strings to use the ~c sigil and fix this warning.219    │220 87 │     'ECDHE-ECDSA-AES256-GCM-SHA384',221    │     ~222    │223    └─ lib/plug/ssl.ex:87:5224225    warning: using single-quoted strings to represent charlists is deprecated.226    Use ~c"" if you indeed want a charlist or use "" instead.227    You may run "mix format --migrate" to change all single-quoted228    strings to use the ~c sigil and fix this warning.229    │230 88 │     'ECDHE-RSA-AES128-GCM-SHA256',231    │     ~232    │233    └─ lib/plug/ssl.ex:88:5234235    warning: using single-quoted strings to represent charlists is deprecated.236    Use ~c"" if you indeed want a charlist or use "" instead.237    You may run "mix format --migrate" to change all single-quoted238    strings to use the ~c sigil and fix this warning.239    │240 89 │     'ECDHE-ECDSA-AES128-GCM-SHA256',241    │     ~242    │243    └─ lib/plug/ssl.ex:89:5244245    warning: using single-quoted strings to represent charlists is deprecated.246    Use ~c"" if you indeed want a charlist or use "" instead.247    You may run "mix format --migrate" to change all single-quoted248    strings to use the ~c sigil and fix this warning.249    │250 90 │     'DHE-RSA-AES256-GCM-SHA384',251    │     ~252    │253    └─ lib/plug/ssl.ex:90:5254255    warning: using single-quoted strings to represent charlists is deprecated.256    Use ~c"" if you indeed want a charlist or use "" instead.257    You may run "mix format --migrate" to change all single-quoted258    strings to use the ~c sigil and fix this warning.259    │260 91 │     'DHE-RSA-AES128-GCM-SHA256',261    │     ~262    │263    └─ lib/plug/ssl.ex:91:5264265    warning: using single-quoted strings to represent charlists is deprecated.266    Use ~c"" if you indeed want a charlist or use "" instead.267    You may run "mix format --migrate" to change all single-quoted268    strings to use the ~c sigil and fix this warning.269    │270 92 │     'ECDHE-RSA-AES256-SHA384',271    │     ~272    │273    └─ lib/plug/ssl.ex:92:5274275    warning: using single-quoted strings to represent charlists is deprecated.276    Use ~c"" if you indeed want a charlist or use "" instead.277    You may run "mix format --migrate" to change all single-quoted278    strings to use the ~c sigil and fix this warning.279    │280 93 │     'ECDHE-ECDSA-AES256-SHA384',281    │     ~282    │283    └─ lib/plug/ssl.ex:93:5284285    warning: using single-quoted strings to represent charlists is deprecated.286    Use ~c"" if you indeed want a charlist or use "" instead.287    You may run "mix format --migrate" to change all single-quoted288    strings to use the ~c sigil and fix this warning.289    │290 94 │     'ECDHE-RSA-AES128-SHA256',291    │     ~292    │293    └─ lib/plug/ssl.ex:94:5294295    warning: using single-quoted strings to represent charlists is deprecated.296    Use ~c"" if you indeed want a charlist or use "" instead.297    You may run "mix format --migrate" to change all single-quoted298    strings to use the ~c sigil and fix this warning.299    │300 95 │     'ECDHE-ECDSA-AES128-SHA256',301    │     ~302    │303    └─ lib/plug/ssl.ex:95:5304305    warning: using single-quoted strings to represent charlists is deprecated.306    Use ~c"" if you indeed want a charlist or use "" instead.307    You may run "mix format --migrate" to change all single-quoted308    strings to use the ~c sigil and fix this warning.309    │310 96 │     'DHE-RSA-AES256-SHA256',311    │     ~312    │313    └─ lib/plug/ssl.ex:96:5314315    warning: using single-quoted strings to represent charlists is deprecated.316    Use ~c"" if you indeed want a charlist or use "" instead.317    You may run "mix format --migrate" to change all single-quoted318    strings to use the ~c sigil and fix this warning.319    │320 97 │     'DHE-RSA-AES128-SHA256',321    │     ~322    │323    └─ lib/plug/ssl.ex:97:5324325    warning: using single-quoted strings to represent charlists is deprecated.326    Use ~c"" if you indeed want a charlist or use "" instead.327    You may run "mix format --migrate" to change all single-quoted328    strings to use the ~c sigil and fix this warning.329    │330 98 │     'ECDHE-RSA-AES256-SHA',331    │     ~332    │333    └─ lib/plug/ssl.ex:98:5334335    warning: using single-quoted strings to represent charlists is deprecated.336    Use ~c"" if you indeed want a charlist or use "" instead.337    You may run "mix format --migrate" to change all single-quoted338    strings to use the ~c sigil and fix this warning.339    │340 99 │     'ECDHE-ECDSA-AES256-SHA',341    │     ~342    │343    └─ lib/plug/ssl.ex:99:5344345     warning: using single-quoted strings to represent charlists is deprecated.346     Use ~c"" if you indeed want a charlist or use "" instead.347     You may run "mix format --migrate" to change all single-quoted348     strings to use the ~c sigil and fix this warning.349     │350 100 │     'ECDHE-RSA-AES128-SHA',351     │     ~352     │353     └─ lib/plug/ssl.ex:100:5354355     warning: using single-quoted strings to represent charlists is deprecated.356     Use ~c"" if you indeed want a charlist or use "" instead.357     You may run "mix format --migrate" to change all single-quoted358     strings to use the ~c sigil and fix this warning.359     │360 101 │     'ECDHE-ECDSA-AES128-SHA'361     │     ~362     │363     └─ lib/plug/ssl.ex:101:5364365     warning: the following clause will never match:366367         {:error, reason} ->368369     because it attempts to match on the result of:370371         IO.binwrite(device, contents)372373     which has type:374375         dynamic(not {:error, term()})376377     type warning found at:378     │379 221 │       {:error, reason} ->380     │       ~~~~~~~~~~~~~~~~~~~381     │382     └─ lib/plug/parsers/multipart.ex:221: Plug.Parsers.MULTIPART.binwrite!/2383384     warning: Macro.to_string/2 is deprecated. Use Macro.to_string/1 instead385     │386 418 │           "#{kind} " <> Macro.to_string(code, &clause_match/2)387     │                               ~388     │389     └─ lib/plug/debugger.ex:418:31: Plug.Debugger.get_clauses/3390391    warning: MIME.valid?/1 is deprecated. Use MIME.extensions(type) != [] instead392    │393 32 │     MIME.valid?(type)394    │          ~395    │396    └─ lib/plug/mime.ex:32:10: Plug.MIME.valid?/1397398    warning: a struct for Plug.Conn is expected on struct update:399400        %Plug.Conn{401          conn402          | adapter: {Plug.Adapters.Test.Conn, state},403            host: uri.host || conn.host || "www.example.com",404            method: method,405            owner: owner,406            path_info: split_path(uri.path),407            port: uri.port || 80,408            remote_ip: conn.remote_ip || {127, 0, 0, 1},409            req_headers: req_headers,410            request_path: uri.path,411            query_string: query,412            query_params: query_params || %Plug.Conn.Unfetched{aspect: :query_params},413            body_params: body_params || %Plug.Conn.Unfetched{aspect: :body_params},414            params: params || %Plug.Conn.Unfetched{aspect: :params},415            scheme: String.to_atom(String.downcase(uri.scheme || "http"))416        }417418    but got type:419420        dynamic(%{..., adapter: {atom(), term()}, req_headers: term()})421422    where "conn" was given the types:423424        # type: dynamic(%{..., req_headers: term()})425        # from: lib/plug/adapters/test/conn.ex:16:7426        body_or_params(body_or_params, query, conn.req_headers, method)427428        # type: dynamic(%{..., adapter: {atom(), term()}, req_headers: term()})429        # from: lib/plug/adapters/test/conn.ex:25:22430        get_from_adapter(conn, :get_http_protocol, :"HTTP/1.1")431432    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"433434    type warning found at:435    │436 34 │     %Plug.Conn{437    │     ~438    │439    └─ lib/plug/adapters/test/conn.ex:34:5: Plug.Adapters.Test.Conn.conn/4440441    warning: System.stacktrace/0 is deprecated. Use __STACKTRACE__ instead442    │443 23 │     reraise(conn, kind, reason, System.stacktrace())444    │                                        ~445    │446    └─ lib/plug/conn/wrapper_error.ex:23:40: Plug.Conn.WrapperError.reraise/3447448Generated plug app449==> phoenix_html450Compiling 8 files (.ex)451    warning: using single-quoted strings to represent charlists is deprecated.452    Use ~c"" if you indeed want a charlist or use "" instead.453    You may run "mix format --migrate" to change all single-quoted454    strings to use the ~c sigil and fix this warning.455    │456 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do457    │                                                  ~458    │459    └─ lib/phoenix_html/engine.ex:12:50460461    warning: the 1st pattern in clause will never match:462463        60464465    because it is expected to receive type:466467        dynamic(empty_list() or non_empty_list(term(), term()))468469    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())470471    type warning found at:472    │473 56 │   def to_iodata(?<), do: "&lt;"474    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~475    │476    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1477478    warning: the 1st pattern in clause will never match:479480        62481482    because it is expected to receive type:483484        dynamic(empty_list() or non_empty_list(term(), term()))485486    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())487488    type warning found at:489    │490 57 │   def to_iodata(?>), do: "&gt;"491    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~492    │493    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1494495    warning: the 1st pattern in clause will never match:496497        38498499    because it is expected to receive type:500501        dynamic(empty_list() or non_empty_list(term(), term()))502503    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())504505    type warning found at:506    │507 58 │   def to_iodata(?&), do: "&amp;"508    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~509    │510    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1511512    warning: the 1st pattern in clause will never match:513514        34515516    because it is expected to receive type:517518        dynamic(empty_list() or non_empty_list(term(), term()))519520    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())521522    type warning found at:523    │524 59 │   def to_iodata(?"), do: "&quot;"525    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~526    │527    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1528529    warning: the 1st pattern in clause will never match:530531        39532533    because it is expected to receive type:534535        dynamic(empty_list() or non_empty_list(term(), term()))536537    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())538539    type warning found at:540    │541 60 │   def to_iodata(?'), do: "&#39;"542    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~543    │544    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1545546    warning: the 1st pattern in clause will never match:547548        {:safe, data}549550    because it is expected to receive type:551552        dynamic(empty_list() or non_empty_list(term(), term()))553554    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())555556    type warning found at:557    │558 76 │   def to_iodata({:safe, data}) do559    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~560    │561    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1562563    warning: the following clause is redundant:564565        def to_iodata(other)566567    it has type:568569        dynamic(empty_list() or non_empty_list(term(), term()))570571    previous clauses have already matched on the following types:572573        non_empty_list(term(), term())574        empty_list()575576    │577 80 │   def to_iodata(other) do578    │       ~579    │580    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1581582    warning: the 1st pattern in clause will never match:583584        h585586    because it is expected to receive type:587588        dynamic(empty_list() or non_empty_list(term(), term()))589590    where "h" was given the type:591592        # type: integer()593        # from: lib/phoenix_html/safe.ex:62:25594        is_integer(h)595596    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())597598    type warning found at:599    │600 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do601    │                 ~602    │603    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1604605    warning: the 1st pattern in clause will never match:606607        h608609    because it is expected to receive type:610611        dynamic(empty_list() or non_empty_list(term(), term()))612613    where "h" was given the type:614615        # type: integer()616        # from: lib/phoenix_html/safe.ex:66:25617        is_integer(h)618619    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())620621    type warning found at:622    │623 66 │   def to_iodata(h) when is_integer(h) do624    │                 ~625    │626    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1627628    warning: the 1st pattern in clause will never match:629630        h631632    because it is expected to receive type:633634        dynamic(empty_list() or non_empty_list(term(), term()))635636    where "h" was given the type:637638        # type: binary()639        # from: lib/phoenix_html/safe.ex:72:25640        is_binary(h)641642    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())643644    type warning found at:645    │646 72 │   def to_iodata(h) when is_binary(h) do647    │                 ~648    │649    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1650651Generated phoenix_html app652==> phoenix_pagination653Compiling 4 files (.ex)654    error: module Phoenix.HTML.Link is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module655    │656 21 │   use Phoenix.HTML657    │   ^^^^^^^^^^^^^^^^658    │659    └─ lib/phoenix_pagination/json.ex:21: Phoenix.Pagination.JSON (module)660661    error: module Phoenix.HTML.Link is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module662    │663  6 │   use Phoenix.HTML664    │   ^^^^^^^^^^^^^^^^665    │666    └─ lib/phoenix_pagination/html.ex:6: Phoenix.Pagination.HTML (module)667668669== Compilation error in file lib/phoenix_pagination/json.ex ==670** (CompileError) lib/phoenix_pagination/json.ex: cannot compile module Phoenix.Pagination.JSON (errors have been logged)671    (phoenix_html 2.14.3) expanding macro: Phoenix.HTML.__using__/1672    lib/phoenix_pagination/json.ex:21: Phoenix.Pagination.JSON (module)673    (elixir 1.20.3) expanding macro: Kernel.use/1674    lib/phoenix_pagination/json.ex:21: Phoenix.Pagination.JSON (module)675could not compile dependency :phoenix_pagination, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile phoenix_pagination --force", update it with "mix deps.update phoenix_pagination" or clean it with "mix deps.clean phoenix_pagination"