Required modules should be "min required" not version specific. You are several module versions behind current release in all areas, and running with a later module forces an error. There is no logic to determine if a later module is already installed, and therefore that should be used instead.