Я могу запустить с `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 ответа
Хотя вчера я решил эту проблему, я не помню, как она была решена четко. Но мысль в начале:
- установите эликсир с нужной вам версией;
- попасть в ваш проект;
- бегать
asdf current
чтобы увидеть, какая версия эрланга необходима для эликсира - затем установить нужный эрланг
и 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.