0

I am attempting to start using ratatouille in a project. This is, I believe, the latest version of rataouille from github.

I started a new project for my learnings:

mix new rata_count

In the ratatouille installation instructions I use the deps:

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

Other than this deps code, the rest of mix.exs is as generated with "mix new rata_count". I have added no additional code to this project.

mix deps.get responds:

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)

A search reveals nothing for this error.

I was able to compile and run the github examples of ratatouille. All the examples worked as specified. Now I cannot seem to use rataouille in my projects.

My system is Centos 7, elixir 1.9.4, Erlang/OTP 22 [erts-1-.4.3] 64 bits.

How do I resolve this error? Should I create a cached version? How do I create a cached version?

Is hex down?

Trailing Dots
  • 378
  • 1
  • 12

3 Answers3

2

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

Recent Activity

  • Mar 15, 2020 Revert release 1.0.1

Delete your mix.lock file (which has, presumably, chosen to pin 1.0.1).

Alternatively, your top-level project should specify an exact version of ex_termbox:

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

...and then delete mix.lock and the deps directory, before running mix deps.get again.

Roger Lipscombe
  • 89,048
  • 55
  • 235
  • 380
0

I ran into this issue as well and nothing I tried fixed it. A day later, I tried running mix deps.get again and had no problems. So it may just be a server-side issue.

Niek
  • 1,464
  • 1
  • 17
  • 27
-2

Roger Lipscombe suggested I use the top level mix.exs deps as:

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

This worked.

I noticed that deps/ratatouille/mix.exs also used a dependency of {:ex_termbox, "1.0"}. I don't understand why ratatouille could not find this, but I can now proceed.

Thank you Roger for your advice and timely replies. :)

Trailing Dots
  • 378
  • 1
  • 12
  • 1. You should accept the existing answer that helped instead of rewriting it in your own words. 2. `{:ex_termbox, "1.0"}` dependency would fetch the _latest_ version matching `"1.0"`, which is apparently `"1.0.1"`. The latter was revoked hence you receive error messages. `{:ex_termbox, "1.0.0"}` is stricter and it instructs `mix` to use _this exact version_. – Aleksei Matiushkin Mar 21 '20 at 05:50