我可以使用命令"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 存储库克隆的,我甚至可以创建一个新的伞形项目并在除我的项目之外的任何地方运行 mix Cogram。似乎asdf
配置在项目中没有生效。
ASDF 版本为 0.7.2
当我安装新版本的elixir
然后更新asdf
时,我在OSX
遇到了同样的问题。
~/elixir_programs$ asdf --version
v0.7.2
以下是.tool_versions(我从未碰过(:
~$ cat .tool-versions
elixir 1.8.2
erlang 20.3
这为我解决了问题:
$ asdf reshim elixir
如果这不起作用,请参阅有关该问题的此 asdf 问题。
虽然我昨天解决了这个问题,但我不记得它是怎么解决清楚的。但一开始的想法是:
- 使用您想要的版本安装 Elixir;
- 进入你的项目;
- 运行
asdf current
以查看需要哪个版本的 Erlang 长生不老药 - 然后安装所需的 erlang