【问题标题】:Mix.Shell.cmd error when upgraded to elixir 1.6.1升级到 elixir 1.6.1 时的 Mix.Shell.cmd 错误
【发布时间】:2018-07-17 07:48:15
【问题描述】:

我的代码在 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 上运行良好。

任何帮助将不胜感激

谢谢

【问题讨论】:

    标签: elixir elixir-mix


    【解决方案1】:

    Mix.Shell.cmd 有 3 个参数:

    cmd(command, options, callback)

    您可以传递一个空列表作为第二个参数来使用默认选项。

    You can see the docs here

    在 1.5.2 中,函数定义将 [] 作为选项的默认值:

    cmd(command, options \\ [], callback)

    。我不知道他们为什么改变它

    Mix.Shell.cmd/3 v1.5.2

    【讨论】:

    • 我会将其报告为问题;没有折旧警告,它应该是向后兼容的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多