##### 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
```


if collection in dep_map:
            collection_info = dep_map[collection]
            collection_info.add_requirement(parent, requirement)
        else:
            apis = [source] if source else apis
            collection_info = CollectionRequirement.from_name(collection, apis, requirement, force, parent=parent,
                                                              allow_pre_release=allow_pre_release)
    existing = [c for c in existing_collections if to_text(c) == to_text(collection_info)]
    if existing and not collection_info.force:
        
        existing[0].add_requirement(parent, requirement)
        collection_info = existing[0]
    dep_map[to_text(collection_info)] = collection_info
def _download_file(url, b_path, expected_hash, validate_certs, headers=None):
    urlsplit = os.path.splitext(to_text(url.rsplit('/', 1)[1]))
    b_file_name = to_bytes(urlsplit[0], errors='surrogate_or_strict')
    b_file_ext = to_bytes(urlsplit[1], errors='surrogate_or_strict')
    b_file_path = tempfile.NamedTemporaryFile(dir=b_path, prefix=b_file_name, suffix=b_file_ext, delete=False).name
    display.vvv("Downloading %s to %s" % (url, to_text(b_path)))
    
    resp = open_url(to_native(url, errors='surrogate_or_strict'), validate_certs=validate_certs, headers=headers,
                    unredirected_headers=['Authorization'], http_agent=user_agent())
    with open(b_file_path, 'wb') as download_file:
        actual_hash = _consume_file(resp, download_file)
    if expected_hash:
        display.vvvv("Validating downloaded file hash %s with expected hash %s" % (actual_hash, expected_hash))
        if expected_hash != actual_hash:
            raise AnsibleError("Mismatch artifact hash with downloaded file")
    return b_file_path
def _extract_tar_file(tar, filename, b_dest, b_temp_path, expected_hash=None):