##### SUMMARY

The list subcommand throws a lot of warnings about a missing version if the collection was not built and installed via an artifact. This information can often be obtained in the galaxy.yml though, so it would make sense to fallback to that ...

```
(ansible_base) [vagrant@centos8 ~]$ ansible-galaxy collection list
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/azure/azcollection' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/cyberark/bizdev' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/google/cloud' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/netbox_community/ansible_modules' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/splunk/enterprise_security' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/ansible/netcommon' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/check_point/mgmt' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/f5networks/f5_modules' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/ibm/qradar' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/openstack/cloud' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/vyos/vyos' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/arista/eos' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/cisco/iosxr' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/cisco/ucs' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/cisco/aci' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/cisco/meraki' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/cisco/intersight' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/cisco/mso' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/cisco/ios' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/cisco/nxos' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/fortinet/fortios' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/junipernetworks/junos' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/purestorage/flasharray' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/purestorage/flashblade' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/awx/awx' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/community/grafana' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/community/kubernetes' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/community/amazon' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/community/vmware' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/community/general' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/gavinfish/azuretest' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/netapp/aws' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/netapp/elementsw' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/netapp/ontap' does not have a MANIFEST.json file, cannot detect version.
[WARNING]: Collection at '/home/vagrant/.ansible/collections/ansible_collections/servicenow/servicenow' does not have a MANIFEST.json file, cannot detect version.

# /home/vagrant/.ansible/collections/ansible_collections
Collection                       Version
-------------------------------- -------
ansible.netcommon                *      
arista.eos                       *      
awx.awx                          *      
azure.azcollection               *      
check_point.mgmt                 *      
cisco.aci                        *      
cisco.intersight                 *      
cisco.ios                        *      
cisco.iosxr                      *      
cisco.meraki                     *      
cisco.mso                        *      
cisco.nxos                       *      
cisco.ucs                        *      
community.amazon                 *      
community.general                *      
community.grafana                *      
community.kubernetes             *      
community.vmware                 *      
cyberark.bizdev                  *      
f5networks.f5_modules            *      
fortinet.fortios                 *      
gavinfish.azuretest              *      
google.cloud                     *      
ibm.qradar                       *      
junipernetworks.junos            *      
netapp.aws                       *      
netapp.elementsw                 *      
netapp.ontap                     *      
netbox_community.ansible_modules *      
openstack.cloud                  *      
purestorage.flasharray           *      
purestorage.flashblade           *      
servicenow.servicenow            *      
splunk.enterprise_security       *      
vyos.vyos                        *
```


##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
ansible-galaxy collection list

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
devel
```


requirements['roles'] += parse_role_req(role_req)
        else:
            
            extra_keys = set(file_requirements.keys()).difference(set(['roles', 'collections']))
            if extra_keys:
                raise AnsibleError("Expecting only 'roles' and/or 'collections' as base keys in the requirements "
                                   "file. Found: %s" % (to_native(", ".join(extra_keys))))
            for role_req in file_requirements.get('roles') or []:
                requirements['roles'] += parse_role_req(role_req)
            for collection_req in file_requirements.get('collections') or []:
                if isinstance(collection_req, dict):
                    req_name = collection_req.get('name', None)
                    if req_name is None:
                        raise AnsibleError("Collections requirement entry should contain the key name.")
                    req_version = collection_req.get('version', '*')
                    req_source = collection_req.get('source', None)
                    if req_source:
                        
                        
                        req_source = next(iter([a for a in self.api_servers if req_source in [a.name, a.api_server]]),
                                          GalaxyAPI(self.galaxy,
                                                    "explicit_requirement_%s" % req_name,
                                                    req_source,
                                                    validate_certs=not context.CLIARGS['ignore_certs']))
                    requirements['collections'].append((req_name, req_version, req_source))
                else:
                    requirements['collections'].append((collection_req, '*', None))
        return requirements
    @staticmethod
    def exit_without_ignore(rc=1):