Could not resolve "phoenix_html"

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]

Elixir 1.12.2 (compiled with Erlang/OTP 24)

macOS Big Sur v11.6 M1

maybe you have an older version of the generator. try:

mix archive.install hex phx_new
1 Like

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.

1 Like

I get this error when running inside an umbrella app, do you have a way around it?

2 Likes

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

1 Like

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__)}
  ...

change "../deps" to "../../../deps"

4 Likes

thanks @japplegame, this solved my issues