0

我可以使用命令“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 推荐。好像asdf配置没有在项目中生效。

4

2 回答 2

0

并且 asdf 版本是 0.7.2

我在安装then updatedOSX的新版本时遇到了同样的问题。 elixirasdf

~/elixir_programs$ asdf --version
v0.7.2

以下是 .tool_versions (我从未接触过):

~$ cat .tool-versions 
elixir 1.8.2
erlang 20.3

这解决了我的问题:

$ asdf reshim elixir

如果这不起作用,请参阅有关该问题的asdf问题。

于 2019-07-12T16:56:03.947 回答
0

虽然我昨天解决了这个问题,但我不记得它是如何清楚地解决的。但一开始的想法是:

  1. 使用您想要的版本安装 elixir;
  2. 进入你的项目;
  3. 运行asdf current看看需要哪个版本的erlang
  4. 然后安装所需的erlang
于 2019-07-15T02:59:35.523 回答