nix2intel

nix2intel

Compiling igniter ** (Mix) Can't continue due to errors on dependencies

i’m using the new ash installer and i’m getting an error right after compiling igniter

  • running mix deps.compile

We are almost there! The following steps are missing:

$ cd test

Then configure your database in config/dev.exs and run:

$ mix ecto.create

Start your Phoenix app with:

$ mix phx.server

You can also run your app inside IEx (Interactive Elixir) as:

$ iex -S mix phx.server

installing igniter :check_mark:
compiling igniter ⢽
compiling igniter :check_mark:
** (Mix) Can’t continue due to errors on dependencies

how can I get it to work, it looks like ash isn’t in the dependencies for the application in mix.exs, any help would be appreciated.

Marked As Solved

nix2intel

nix2intel

what if I were to tell you that it was a space in the name with a certain length? When I do

sh <(curl 'https://ash-hq.org/new/hairbnb?install=phoenix') \
    && cd hairbnb \
      && mix igniter.install \
    ash_phoenix ash_json_api ash_postgres ash_authentication \
    ash_authentication_phoenix ash_admin ash_state_machine \
    ash_paper_trail cloak ash_cloak \
    --auth-strategy password \
      --yes

The above works, but the below will fail.

sh <(curl 'https://ash-hq.org/new/some_long_name_with_spaces?install=phoenix') \
    && cd some_long_name_with_spaces \
      && mix igniter.install \
    ash_phoenix ash_json_api ash_postgres ash_authentication \
    ash_authentication_phoenix ash_admin ash_state_machine ash_paper_trail cloak \
    ash_cloak \
    --auth-strategy password \
      --yes

I get the error that

Issues:

  • ** (Rewrite.SourceError) could not write to file “lib/some_long_name_with_spaces/application.ex”: file changed since reading

i’ll pull that down, connect, and get you a copy of that debug.

Also Liked

zachdaniel

zachdaniel

Creator of Ash

Wowee, that was a rabbit hole :laughing: Fixed versions are released. Here is what was happening:

Duplicate files were being added into the rewrite struct, due to how in some places (when adding a glob), we were adding files by absolute path, instead of relative to CWD path.

The kicker is how we were alerted to this problem :sweat: The reason that it only happened when the app name was longer is because rewrite uses Task.async_stream to write files in parallel. Inside of that stream each thing reads its original contents and then writes it if it hasn’t changed. The slight additional extra time that it took to either read the file or hash the file name (not sure which) for the longer file names, changed the performance of the writing enough that one of the tasks was slow enough to see the new file contents from one of the other tasks completing and writing its file contents. Now there are no duplicates because everything is using relative paths.

This could also have been the source of other subtle bugs :sob:

Thank you for your help in figuring this one out!

nix2intel

nix2intel

This is on an arm linux box (asahi linux) the plot thickens :slight_smile:

nix2intel

nix2intel

I know this is a plea for help but this is really cool i’ll add!

Where Next?

Popular in Questions Top

vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
svb
Hi! Currently I want to submit a form by pressing the Enter key. However, since my input field is of type “textarea” this is just adds a...
New

Other popular topics Top

joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31586 112
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 49266 226
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

We're in Beta

About us Mission Statement