【问题标题】:Elixir: mix deps.get Request failed (403) and no cached copyElixir:混合 deps.get 请求失败(403)并且没有缓存副本
【发布时间】:2020-07-01 19:46:29
【问题描述】:

我正在尝试在项目中开始使用ratatouille。这是, 我相信,来自 github 的最新版本的料理鼠王。

我开始了一个新项目来学习:

mix new rata_count

在料理鼠王安装说明中,我使用了 deps:

  defp deps do
    [{:ratatouille, "~> 0.5.0"} ]
  end

除了这个 deps 代码之外,mix.exs 的其余部分是通过“mix new rata_count”生成的。我没有向这个项目添加任何额外的代码。

混合 deps.get 响应:

mix deps.get
Resolving Hex dependencies...
Dependency resolution completed:
New:
  asciichart 1.0.0
  elixir_make 0.6.0
  ex_termbox 1.0.1
  ratatouille 0.5.0
* Updating ratatouille (Hex package)
* Getting ex_termbox (Hex package)
Request failed (403)
** (Mix) Package fetch failed and no cached copy available (https://repo.hex.pm/tarballs/ex_termbox-1.0.1.tar)

搜索未发现此错误。

我能够编译和运行料理鼠王的 github 示例。所有的 示例按指定工作。现在我似乎无法使用料理鼠王 在我的项目中。

我的系统是 Centos 7,elixir 1.9.4,Erlang/OTP 22 [erts-1-.4.3] 64 位。

如何解决此错误?我应该创建一个缓存版本吗?如何创建缓存版本?

十六进制下来了吗?

【问题讨论】:

    标签: elixir elixir-mix


    【解决方案1】:

    https://hex.pm/packages/ex_termbox 有:

    近期活动

    • 2020 年 3 月 15 日恢复版本 1.0.1

    删除您的 mix.lock 文件(可能已选择固定 1.0.1)。

    或者,您的顶级项目应指定ex_termbox 的确切版本:

      defp deps do
        [
          {:ratatouille, "~> 0.5.0"},
          {:ex_termbox, "1.0.0"}
        ]
      end
    

    ...然后然后删除mix.lockdeps目录,然后再次运行mix deps.get

    【讨论】:

    • mix 尚未创建 mix.lock 文件。
    • @TrailingDots 自己指定一个确切的版本现在将作为一种解决方法。查看更新。
    • 是的!这行得通。虽然我注意到 deps/ratatouille/mix.exs 已指定 {:ex_termbox, "~> 1.0"},但我还必须在顶层指定它。非常感谢您提供此信息以及您的快速响应。
    【解决方案2】:

    Roger Lipscombe 建议我使用顶级 mix.exs deps 作为:

      defp deps do
        [{:ratatouille, "~> 0.5.0"}, {:ex_termbox, "1.0.0"}]
      end
    

    这行得通。

    我注意到 deps/ratatouille/mix.exs 也使用了 {:ex_termbox, "1.0"} 的依赖项。我不明白为什么料理鼠王找不到这个,但我现在可以继续了。

    感谢 Roger 的建议和及时回复。 :)

    【讨论】:

    • 1.您应该接受有帮助的现有答案,而不是用您自己的话重写它。 2. {:ex_termbox, "1.0"} 依赖会获取与"1.0" 匹配的最新 版本,显然是"1.0.1"。后者已被撤销,因此您会收到错误消息。 {:ex_termbox, "1.0.0"} 更严格,它指示mix 使用这个确切的版本
    【解决方案3】:

    我也遇到了这个问题,但我没有尝试解决它。一天后,我再次尝试运行mix deps.get,没有任何问题。所以这可能只是服务器端的问题。

    【讨论】:

      猜你喜欢
      • 2016-05-12
      • 2018-01-28
      • 2023-03-28
      • 2017-11-15
      • 1970-01-01
      • 2016-05-15
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      相关资源
      最近更新 更多