我的代码在elixir 1.5.2
上工作正常,然后我升级为elixir 1.6.1
。它给了我Mix.Shell.cmd/2
未定义或私有错误。这是代码
def run(args) do
file = List.first(args) || "priv/static/apiv1docs.json"
Mix.Shell.cmd("rm -rf " <> file, &IO.puts(&1))
IO.puts("Removed " <> file)
end
它给了我错误。Mix.Shell.cmd/2
未定义或私有错误。你的意思是cmd/3
之一。
在1.5.2
之前它工作正常。
非常感谢任何帮助
由于
答案 0 :(得分:3)
Mix.Shell.cmd有3个参数:
cmd(command, options, callback)
您可以将空列表作为第二个参数传递以使用默认选项。
在1.5.2中,函数定义将[]
作为选项的默认值:
cmd(command, options \\ [], callback)
。我不确定他们为什么要改变它