Mix ash.codegen is giving error: Mix.Project.deps_tree/0 is undefined or private

Hello, fellow learners.

I am learning the Ash framework. As a part of my learning journey, I have set up an elixir project with Ash as a dependency. I Have implemented the CRUD operations using the mix ash_phoenix.gen.live command. However, When attempting to update a record I encounter the following error.

function ash_raise_error(jsonb, uuid) does not exist at character 268.

To tackle the issue, I tried to run the below command.

mix ash.codegen ps_resource

But it throws the following error.

** (UndefinedFunctionError) function Mix.Project.deps_tree/0 is undefined or private. Did you mean:

  * deps_path/0
  * deps_path/1   

For context, here are the versions of the dependencies I’m using:

  • {:ash, “~> 3.0.1”},
  • {:ash_postgres, “~> 2.0.1”},
  • {:ash_phoenix, “~> 2.0.0”},
  • {:spark, “~> 2.1.22”}
  • {elixir: “~> 1.14”}

I have attempted to clean and update the dependencies. But still, the issue persists

My primary goal is to ensure the update feature is working as expected.

could anyone please help me to solve this issue?

Welcome to the forum!

Is there a specific reason you’re using an older Elixir release?

Mix.Project.deps_tree/0 is available from Elixir v1.15

If you’re learning Ash from scratch I’d recommend you install the latest Elixir v1.16.3 with Erlang OTP 26 to have the most current system. Let me know if you need any help using a version manager like asdf

Edit: raised issue on Ash repo Mix feature version mismatch · Issue #1197 · ash-project/ash · GitHub

1 Like

Fixed! We now use a slower alternative in older elixir versions, and supply a warning.

1 Like

Thank you Juan P Barrios for replying.

No, I don’t have any specific reason for using the older version.

Now the update feature is working after Changing the Elixir version to the newer. I Will use Elixir’s new version for learning Ash. Thanks.

1 Like

Thank you.