phoenixframework / phoenix

Peace of mind from prototype to production
https://www.phoenixframework.org
MIT License
21.45k stars 2.88k forks source link

Issue with Upgrading Phoenix Framework Version #5881

Closed Sandeep-Suthar9467 closed 3 months ago

Sandeep-Suthar9467 commented 3 months ago

Environment

Elixir Version:* 1.13.4
Erlang/OTP Version:* 24.3.4.4

Phoenix Version (Before Upgrade):*
  - {:phoenix, "~> 1.6.0"}
  - {:phoenix_html, "~> 3.0"}
  - {:phoenix_live_dashboard, "~> 0.5"}

  **Phoenix Version (After Upgrade):**
  - {:phoenix, "~> 1.6.16"}
  - {:phoenix_html, "~> 3.2"}
  - {:phoenix_live_dashboard, "~> 0.6"}

Steps to Reproduce:

Afrer upgrading to Phoenix dependencies in mix.exs:

    defp deps do
      [
        {:phoenix, "~> 1.6.16"},
        {:phoenix_html, "~> 3.2"},
        {:phoenix_live_dashboard, "~> 0.6"},
        # other dependencies
      ]
    end

I have actually ran the following commands in order to try and fix the error.

```bash
mix deps.clean --all
mix deps.get
```

& I have attempted to compile the project using the follow mix command, but I am receiving issues.

    mix compile

Expected Behavior:

The project should compile successfully without errors.

Actual Behavior:

The following compilation error occurs:

== Compilation error in file lib/phoenix_view.ex ==
** (CompileError) lib/phoenix_view.ex:1: cannot define module Phoenix.View because it is currently being defined in lib/phoenix/view.ex:1
    (elixir 1.13.4) lib/kernel/parallel_compiler.ex:346: anonymous fn/5 in Kernel.ParallelCompiler.spawn_workers/7
could not compile dependency :phoenix_view, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile phoenix_view", update it with "mix deps.update phoenix_view" or clean it with "mix deps.clean phoenix_view" 

Reason for Upgrade:

I am upgrading the Phoenix version to address a security vulnerability in wildcard check_origin configurations.

I would appreciate any guidance or suggestions to resolve this issue. Thank you for your help!

Gazler commented 3 months ago

Phoenix.View shouldn't exist in 1.6, it was moved to a separate dependency (phoenix_view).

Try doing rm -rf _build && rm -rf deps then mix deps.get.

Sandeep-Suthar9467 commented 3 months ago

Hey @Gazler Thanks for the suggestion,

I've tried running these steps locally, it seems to be running fine, but I have a gitlab.yml file configured where this issue is seen on every pipeline trigger specially after mix.compile step is run as configured in my gitlab.yml file.

rm _build & deps directories via gitlab yml command won't help me right?

Let me know, If I am missing something, I'll share the necessary component of the yml file as well, if required.

Gazler commented 3 months ago

It is possible gitlab has some sort of cache, I'd see if there's a way to clear the cache and run the build.