scouten
Our (umbrella) project’s mix.lock file is getting substantially rewritten periodically and we’d like some help in identifying how/why this is happening.
Looking at a recent diff, I’m seeing lots of lines that look like this:
-%{"base64url": {:hex, :base64url, "0.0.1", "36a90125f5948e3afd7be97662a1504b934dd5dac78451ca6e9abf85a10286be", [:rebar], []},
+%{"base64url": {:hex, :base64url, "0.0.1", "36a90125f5948e3afd7be97662a1504b934dd5dac78451ca6e9abf85a10286be", [:rebar], [], "hexpm"},
The only actual difference is the addition (or sometimes removal) of a final element "hexpm" in the tuple. This diff is repeated throughout the file.
This is causing merge hell for our team. Any advice on how to make it stop?
Edit: We’re using Elixir 1.4.1.
Trending in Questions
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
Hello,
I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
Documentation
While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
So my question is quite simple and i have found no conclusive answer on forum, google or AI.
Should we use :erlang.float for Integer to ...
New
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 7- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
michalmuskala
This is, most probably, the difference between an older hex client and a newer hex client that stores additional metadata (the format allows adding additional fields at the end, so the older client should still be able to consume the file, it will only spit out the older format on write operations).
ericmj
Michal is correct. If all your developers updates their Hex version with
mix local.hexit should stop happening.OvermindDL1
I’m curious, is there a way to constrain the used hex version from the mix.exs file to a specific minimum version? Would help resolve these issues.
ericmj
Not currently but it’s a nice idea.
scouten
Yes, this looks right. I’ve asked the rest of the team to upgrade to 0.16.0 and all seems well now. Thanks for the pointer.
nathanl
We’re getting similar churn in Mix.lock - changes that are just
[repo: "hexpm", hex: :poison, optional: false]vs[hex: :poison, optional: false](with/withoutrepo: "hexpm") and with/without the trailing “hexpm”.My colleague and I have both run
mix local.hex, and both appear to already be on0.17.1.Any other reason why this might happen?
Here’s an example diff.
ericmj
That should not happen if you are both on 0.17.1, my guess would be that someone is using an older version. If you have a way to reproduce please open an issue.