5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ElixirAdvent Calendar 2024

Day 7

Elixirチートシートを作ろう、番外編その7 アドベンドカレンダーはとりあえず完走

Last updated at Posted at 2024-12-24

1. OverView

どもども、うん、アドベントカレンダーの完走賞狙いなんだ、すまない。

今回は、やらかしたTIPSをまとめときたいと思います。

2. 懺悔

2.1 kinoがインストールできない!…違います、ただのバージョン指定ミスです。

Livebookでkinoを使おうと思った賢い俺様、先頭のDependenciesのところで、Mix.Installでkinoを入れたにも関わらず、
Kino.Textが使えません。

Mix.Installで指定したKinoのバージョンが0.6.0
そして、今のKinoのバージョンはv0.14.2です。

素晴らしい参考資料があったのにねぇ。
Kino まとめ - Livebook があれば何でもできる -
https://qiita.com/RyoWakabayashi/items/dc1cbd9be772fdcbce74

2.2 iexがexampleをロードしねぇ!

iex.bat -S mixをしても、 iexがexampleをロードしねぇ!なので、ブレークポイントを設定どころではない。

…mix cleanで、古いファイルを消したら、治りました。

起動時に以下の様なエラーが出ていて、気づきましたとさ。

(base) C:\Users\nanbu\example>iex.bat -S mix
Erlang/OTP 27 [erts-15.2] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [jit:ns]

Interactive Elixir (1.18.0) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>  c "lib/example.ex"
    warning: redefining module Example (current version loaded from _build/dev/lib/example/ebin/Elixir.Example.beam)
    │
  1 │ defmodule Example do
    │ ~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/example.ex:1: Example (module)

[Example]
iex(2)>

2.3 Debuggerが起動しねぇ!

Debuggerが起動しない。
iex.batを実行すると出来るけど、iex.bat -S mixを実行すると起動しない。

iex(1)>  :debugger.start()
** (UndefinedFunctionError) function :debugger.start/0 is undefined (module :debugger is not available)
    :debugger.start()
    iex:1: (file)
iex(1)>

これ、公式に書いてありました。
https://hexdocs.pm/elixir/debugging.html
Missing dependencies
Mix.ensure_application!(:wx) # Not necessary on Erlang/OTP 27+
Mix.ensure_application!(:runtime_tools) # Not necessary on Erlang/OTP 27+
Mix.ensure_application!(:observer)
Mix.ensure_application!(:debugger)

以下で怪傑

(base) C:\Users\nanbu\example>iex.bat -S mix
Erlang/OTP 27 [erts-15.2] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [jit:ns]

Interactive Elixir (1.18.0) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Mix.ensure_application!(:debugger)
:ok
iex(2)>  :debugger.start()
{:ok, #PID<0.135.0>}
iex(3)>

僕の追加ってる環境はErlang/OTP 27なので、上の一行で大丈夫でしたね。

最後に

さて、そんなわけで無事?三年目にしてアドベントカレンダーを完走出来ました。
fukuoka.ex, piyopiyo.exのみなさん、ありがとうございました。

こつこつ、チートシート作りは実用的?な方面に手を出したいと思うので、ご支援よろしくお願いします。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?