Linking error in UnrealEngine Editor v5.4

I am encountering the following linking error when build the C++ code in editor by clicking the button in bottom.

It seems it cannot find the symbols from MetalRHI

PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
	
PrivateDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Slate", "RenderCore", "RHI", "RHICore", "Projects"  });

string projectPath = Directory.GetParent(ModuleDirectory).Parent.ToString();

PrivateIncludePaths.Add( "/Users/Shared/Epic Games/UE_5.4/Engine/Source/Runtime/Apple/MetalRHI/Private/" );
PrivateIncludePaths.Add( "/Users/Shared/Epic Games/UE_5.4/Engine/Source/ThirdParty/Apple/MetalShaderConverter/include/" );
PrivateDependencyModuleNames.AddRange(new string[] { "MetalRHI" });
PublicWeakFrameworks.Add("Metal");
PublicFrameworks.Add("QuartzCore");
AddEngineThirdPartyPrivateStaticDependencies(Target, "MetalCPP");
AddEngineThirdPartyPrivateStaticDependencies(Target, "MetalShaderConverter");

The above lines are from my build.cs file.
The project can be packaged successfully but it always fail when build in editor model.

Please what is the problem?