File tree Expand file tree Collapse file tree 1 file changed +11
-7
lines changed
lib/mix/lib/mix/compilers Expand file tree Collapse file tree 1 file changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -711,16 +711,22 @@ defmodule Mix.Compilers.Elixir do
711711
712712 defp remove_and_purge ( beam , module ) do
713713 _ = File . rm ( beam )
714- :code . purge ( module )
715- :code . delete ( module )
714+
715+ if Code . loaded? ( module ) do
716+ :code . purge ( module )
717+ :code . delete ( module )
718+ end
716719 end
717720
718721 defp purge_modules_in_path ( path ) do
719722 with { :ok , beams } <- File . ls ( path ) do
720723 Enum . each ( beams , fn beam ->
721724 module = beam |> Path . rootname ( ) |> String . to_atom ( )
722- :code . purge ( module )
723- :code . delete ( module )
725+
726+ if Code . loaded? ( module ) do
727+ :code . purge ( module )
728+ :code . delete ( module )
729+ end
724730 end )
725731 end
726732 end
@@ -898,9 +904,7 @@ defmodule Mix.Compilers.Elixir do
898904 end
899905
900906 for { module , _ } <- data do
901- File . rm ( beam_path ( compile_path , module ) )
902- :code . purge ( module )
903- :code . delete ( module )
907+ remove_and_purge ( beam_path ( compile_path , module ) , module )
904908 end
905909 rescue
906910 _ ->
You can’t perform that action at this time.
0 commit comments