JohnSmall
Formatter error in Phoenix migrations, can't find ecto_sql
I’m working my way through the Programming Phoenix > 1.4 book and I’ve got a problem with the formatter.
I’m using Atom with Elixir addons, which calls the formatter and reports errors and autofixes the format. But the formatter doesn’t like the migrations. I get this error
** (Mix) Unknown dependency :ecto_sql given to :import_deps in the formatter configuration. The dependency is not listed in your mix.exs for environment :dev
Which is odd because :ecto_sql is very definitely in the list of dependencies in mix.exs, though there isn’t a specific environment for :dev section.
Since this is a plain installation, and follows the book, I’m assuming that other people have the same problem, but I can’t see any other questions being asked.
Anyone have any idea how I get this fixed?
Trending in Questions
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #hex
- #performance










First 10 of 15 Posts
goofansu
Hi @JohnSmall, the error happens if the
mix formatcommand runs in wrong directory. I guess it is caused by the Elixir plugin used in Atom. You can try VSCode and install the “ElixirLS Fork” extension.hassan
Which addons exactly? What version of Elixir / Erlang / Phoenix?
Does the formatter give the same error if you run it from the command line?
For reference, I don’t see any such errors with these installed:
benwilson512
Hi @JohnSmall did you per chance use the latest version of ecto instead of the version specified in the Phoenix book? In the latest version of Ecto, you need to add
:ecto_sqlas an additional dependency now, it was extracted from ecto proper.JohnSmall
Yes it is the latest version of Phoenix. But it’s automatically added
:ecto_sqlto deps in mix.exs. Here’s the codeAs you can see
:ecto_sqlis definitely there.JohnSmall
Good point, what happens when I run from the command line? Ans: no errors.
Which prompts the question where are the Atom addons getting the error message from? I’m using
Exactly the same as you. Are there special settings that have to be configured for these addons?
NobbZ
Do you start your editor from a GUI or from the terminal, if you open it from the terminal, do you see the same error?
JohnSmall
I get the same error if I start Atom from the command line as I do when starting it from the Mac dock toolbar.
Well not quite the same error, the error comes up twice instead of just once.
JohnSmall
By disabling and enabling the packages I can see that the error is generated by atom-elixir-formatter v1.0.6.
There doesn’t seem to be much configuration that can be changed, other than the executable it calls. Which is the default
elixir.I checked the Github repo for the package and found other people with the same problem Running in subdirectory with `.formatter.exs` file breaks · Issue #26 · rgreenjr/atom-elixir-formatter · GitHub but the author doesn’t have time to fix it. Sigh
NobbZ
Just to make sure, do you start it from the project folder than?
Quite often those problems arise from the processes working dir is incorrect.
JohnSmall
Just tried it and it makes no difference. Which is reasonable because it checks the formats on all other files in the project correctly.
If I had to start Atom from the command line in the root directory of the project to get it to work that would be crazy as I have 5 projects open at once.
As the author doesn’t have time to fix the problem I’ll investigate a bit to see if I can diagnose what’s going wrong.