为什么 :fs.start_link/2 未定义?

Why Is :fs.start_link/2 Undefined?

我正在尝试将 fs 库与 Elixir 一起使用。 Windows 10 上的 Elixir 1.2.5 和 fs 0.9.2。我在我的 mix.exs 中添加了 fs 到我的依赖项中,它似乎在那里(见下文)但出于某种原因我不断得到一个尝试 运行 :fs.start_link/2

时出错

我开始 iex -S mix,一切正常。然后我试试这个: :fs.known_events() which returns: [:created, :modified, :removed, :renamed, :undefined] 这就是为什么我假设 fs 被正确加载的原因。

但是当我尝试 :fs.start_link(:fs_watcher, "/users/ocaten~1") 我得到 ** (UndefinedFunctionError) undefined function :fs.start_link/2 我也尝试 :fs.start_link(:fs_watcher, '/users/ocaten~1') (字符列表与字符串)并得到相同的错误。我检查了 fs 的源代码,肯定有一个 start_link/2 函数并且它被导出了,所以我真的被这个难住了。

关于我如何继续的任何建议?

:fs.start_link/2 似乎是在 11 Nov 2015 while version 0.9.2 was released on 23 Apr 2015 上添加的。 0.9.2 之后 hex.pm 没有发布,所以如果你想使用 :fs.start_link/2:

,你必须依赖 Github 版本

mix.exs:

defp deps do
  [{:fs, git: "https://github.com/synrc/fs"}]
end

测试:

iex(1)> :fs.start_link(:fs_watcher, "/tmp")
{:ok, #PID<0.168.0>}