zachdaniel

zachdaniel

Creator of Ash

Issue with igniter recompiling deps on the fly

Igniter needs to do some crazy stuff, but one of the craziest things it does is recompiles dependencies, using this bastardized version of mix deps.compile. Anyone familiar with the internals of mix who can help I would be eternally grateful, because this has stumped me so far.

I’ve honestly stumbled my way through making it work, but for some reason, sometimes (only when I’m using local dependencies in certain configurations) I just get an unceremonious exit that crashes the whole show. It seems to be related to having a dependency that is a path dependency, but I can’t say for sure.

like the entire vm goes down as far as I can tell

To reproduce:

mix archive.install hex phx_new --force
mix archive.install hex igniter_new --force
git clone git@github.com:ash-project/ash.git
git clone git@github.com:ash-project/igniter.git

ash mix igniter.new helpdesk \
  --install ash@path:../ash,ash_authentication_phoenix \
  --with phx.new --verbose --local igniter

and accept y all of the questions

I have beat my head against the wall on this problem for so long that I think I may be literally going a bit crazy about it

Is there anyone here who may be able to help me diagnose this? Or help me find a better way to recompile a dependency “live”?

I know recompiling a dependency comes with some strange behavior regardless (like if the new version of the dependency redefines a module, or no longer defines a module, etc). but honestly I think its “fine” because what we’re doing this for is access to relatively simple scripts, nothing with a runtime, no application tree etc.

Most Liked

zachdaniel

zachdaniel

Creator of Ash

Thanks to some prodding from José I was able to clean up a vast majority of the “jank” in this process and resolve the issue in the meantime :partying_face:

Where Next?

Popular in Questions Top

gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
Werner
Hi, I’m using Ubuntu 18.04 and after updating to OTP-24.0 yesterday i have this warning when I run “mix local.hex”: 14:57:30.512 [warn] ...
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
lk-geimfari
What is most correct way to open, read and parse JSON file with poison? For example if we have example.json file in root of some projec...
New
makeitrein
Hey all, just started picking up Elixir last week and am writing a scraper as a learning project. Baby step #1 is extracting the number ...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
hpopp
To simplify some tasks at work, I wrote and published this package yesterday. It’s a simple macro that enables Access behaviour on struct...
New
Mooodi
Given a string, how can I get access to its character by index? Enum.at("my_string", 2) doesn't work. Or rather, not char, but a substr...
New

Other popular topics Top

pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35421 110
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New

We're in Beta

About us Mission Statement