Yes, I noticed that our GitLab runner has installed the synthetics globally, that is the reason it can run successfully on the CICD pipeline.
besides, I also made a mistake, I didn't setup the environment file properly due to the code issue.
I appreciate your speedy reply and solution to address this issue.