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: "<"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: ">"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: "&"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: """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: "'"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"