I recently upgrade Phoenix from 1.5.12 to 1.6.2 but im getting an error everytime i tried to run the server.
This is the error.
`
mix phx.new test
cd test
mix ecto.create
mix phx.server
error: Cannot read directory “…/…/…/…/…”: operation not permitted
js/app.js:23:7: error: Could not resolve “phoenix_html” (mark it as external to exclude it from the bundle)
23 │ import “phoenix_html”
╵ ~~~~~~~~~~~~~~
js/app.js:25:21: error: Could not resolve “phoenix” (mark it as external to exclude it from the bundle)
25 │ import {Socket} from “phoenix”
╵ ~~~~~~~~~
js/app.js:26:25: error: Could not resolve “phoenix_live_view” (mark it as external to exclude it from the bundle)
26 │ import {LiveSocket} from “phoenix_live_view”
╵ ~~~~~~~~~~~~~~~~~~~
4 errors
`
I’ve tried giving “full disk access” to the terminal, but it doesn’t work out, I don’t know what to do.
Oh, and my versions are this:
Erlang/OTP 24 [erts-12.0.3] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [dtrace]
Are you running the phoenix app inside an umbrella?
I’ve stumbled upon the issue regarding JS imports this morning, and i could only reproduce it under the said condition.
Did anyone ever solve this issue? Happening to me inside an umbrella app. I’m running mix esbuild default --minify in the directory for the live view app under apps
I believe that the reason is the wrong path to the dependencies folder. In an umbrella application dependencies are not in the application folder, but in the root folder.
Try to change that path in config.exs of your phoenix application:
# Configure esbuild (the version is required)
config :esbuild,
...
env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)}
...