public function moduleRequirement(array $module)
    {
        // TODO: Module dependencies should also be checked
        // for unmet requirements recursively.
        $fail = false;
        foreach ($module as $module_name) {
            module_load_install($module_name);
            if ($requirements = \Drupal::moduleHandler()->invoke($module_name, 'requirements', ['install'])) {
                foreach ($requirements as $requirement) {
                    if (isset($requirement['severity']) && $requirement['severity'] == REQUIREMENT_ERROR) {
                        $this->getIo()->info("Module '{$module_name}' cannot be installed: {$requirement['title']} | {$requirement['value']}");
                        $fail = true;
                    }
                }
            }
        }
        if ($fail) {
            throw new \Exception('Some module install requirements are not met.');
        }
    }