【问题标题】:(File.Error) could not read file "": no such file or directory(File.Error)无法读取文件“”:没有这样的文件或目录
【发布时间】:2021-11-24 13:48:12
【问题描述】:

我正在尝试运行一个 elixir 项目,但是当我尝试使用 mix deps.get 安装依赖项时,我收到此错误:

** (File.Error) could not read file "/mnt/c/Users/user/Desktop/project/config/dev\r.exs": no such file or directory
    (elixir 1.12.3) lib/file.ex:355: File.read!/1
    (elixir 1.12.3) lib/config.ex:243: Config.__import__!/1
    (mix 1.12.3) lib/mix/config.ex:161: anonymous fn/2 in Mix.Config.__import__!/2
    (elixir 1.12.3) lib/enum.ex:2385: Enum."-reduce/3-lists^foldl/2-0-"/3
    (mix 1.12.3) lib/mix/config.ex:160: Mix.Config.__import__!/2
    (stdlib 3.16.1) erl_eval.erl:685: :erl_eval.do_apply/6

其实我在config文件夹中有dev.exs文件,但是我不明白错误处文件名末尾的这个“\r”是什么意思。

我正在使用 linux 的 windows 子系统,使用asdf 来管理版本,当前是这些:

Erlang/OTP 24 [erts-12.1.1] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit]

Elixir 1.12.3 (compiled with Erlang/OTP 24)

希望有人可以帮助我解决这种情况。 非常感谢。

【问题讨论】:

  • \r 是回车。看起来设置 dev 值的任何内容也包括最后的回车符。这可能是因为您的配置,也可能与 Linux 和 Windows 换行符序列之间的差异有关。 FWIW Mix.Config 也已弃用,请改用 Config

标签: ubuntu erlang elixir windows-subsystem-for-linux elixir-mix


【解决方案1】:

看起来你在某处有一个杂散的回车。可能在一个字符串中。

例如,在 OSX 上,在 iex 中,我可以通过在添加右引号之前按回车来生成这样的字符串:

iex(1)> string = "dev
"
"dev\n"

我建议你检查你的配置是否有错误的引用,可能靠近加载环境特定配置文件的代码(通常类似于 config.exs 中的 import_config "#{config_env()}.exs"

【讨论】:

    猜你喜欢
    • 2014-08-24
    • 2014-05-08
    • 2021-09-10
    • 2016-11-12
    • 2017-08-27
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2021-08-11
    相关资源
    最近更新 更多