Я могу запустить с `iex` в терминале, но это не работает в моем зонтичном проекте

Я мог перейти в режим iex с командой 'iex', но в моем зонтичном проекте я получил asdf: No version set for command mix,

➜  ~ iex
Erlang/OTP 21 [erts-10.3] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]

Interactive Elixir (1.8.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> 

но в проекте:

➜  ticket_service git:(get-tickets-count-166053245) iex
asdf: No version set for command iex
you might want to add one of the following in your .tool-versions file:

elixir 1.8.2-otp-21
➜  ticket_service git:(get-tickets-count-166053245) mix compile
asdf: No version set for command mix
you might want to add one of the following in your .tool-versions file:

elixir 1.8.2-otp-21

Кстати, проект клонирован из моего репозитория github, я даже могу создать новый зонтичный проект и запускать микс комменд везде, кроме моего проекта. Кажется, что asdf Конфиг не вступил в силу в проекте.

2 ответа

Хотя вчера я решил эту проблему, я не помню, как она была решена четко. Но мысль в начале:

  1. установите эликсир с нужной вам версией;
  2. попасть в ваш проект;
  3. бегать asdf current чтобы увидеть, какая версия эрланга необходима для эликсира
  4. затем установить нужный эрланг

и asdf версия 0.7.2

Я столкнулся с той же проблемой на OSX когда я установил новую версию elixir затем обновляется asdf,

~/elixir_programs$ asdf --version
v0.7.2

Следующее было в.tool_versions (чего я никогда не трогал):

~$ cat .tool-versions 
elixir 1.8.2
erlang 20.3

Это решило проблему для меня:

$ asdf reshim elixir

Если это не сработает, посмотрите эту проблему в формате asdf.

Другие вопросы по тегам