Почему Elixir не может найти __DIR__?

Я пытаюсь запустить mix test для elixir-json. Когда я это делаю, я получаю

** (CompileError) /Users/me/Projects/elixir/json/test/json_test.exs:1: function '__DIR__'/0 undefined
    /usr/local/Cellar/erlang-r16/R16B01/lib/erlang/lib/parsetools-2.0.9/include/yeccpre.hrl:128: :elixir_parser.yecctoken_end_location/1
    /usr/local/Cellar/erlang-r16/R16B01/lib/erlang/lib/parsetools-2.0.9/include/yeccpre.hrl:113: :elixir_parser.yeccpars1/7
    /usr/local/Cellar/erlang-r16/R16B01/lib/erlang/lib/parsetools-2.0.9/include/yeccpre.hrl:56: :elixir_parser.yeccpars0/5
    src/elixir_translator.erl:17: :elixir_translator.forms/4
    src/elixir_translator.erl:27: :elixir_translator.forms!/4
    src/elixir_compiler.erl:25: :elixir_compiler.string/2
    /private/tmp/elixir-pvTm/elixir-0.8.2/lib/elixir/lib/code.ex:229: Code.require_file/2
    /private/tmp/elixir-pvTm/elixir-0.8.2/lib/elixir/lib/kernel/parallel_require.ex:48: Kernel.ParallelRequire."-spawn_requires/5-fun-0-"/5

Я установил Elixir через brew в соответствии с инструкциями.

Что происходит не так?


person James A. Rosen    schedule 15.07.2013    source источник
comment
Решение состоит в том, чтобы использовать Эликсир 0.9 (скомпилированный из исходников), а не 0.8, который доступен через brew.   -  person James A. Rosen    schedule 15.07.2013
comment
На данный момент brew идет с elixir 0.9.3. Попробуйте brew update   -  person Riccardo Marotti    schedule 15.07.2013
comment
@RiccardoMarotti даже 0.10.0! elixir-lang.org/blog/2013 /07/13/elixir-v0-10-0-выпущен   -  person James A. Rosen    schedule 16.07.2013
comment
И Elixir, и elixir-json продвинулись вперед с момента ответа на этот вопрос. Эта конкретная проблема почти гарантированно будет решена к настоящему времени.   -  person Alexei Sholik    schedule 21.05.2014


Ответы (1)


В установленной вами версии эликсира нет макроса __DIR__.

Я предлагаю вам установить elixir с помощью asdf, это действительно отличный инструмент для версии Elixir, и вы можете установить любую версию языка, который вам нравится.

https://github.com/asdf-vm/asdf

asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git

person dev-cyprium    schedule 22.03.2019