# The error `asset.unreachable` **environment**: something the run needs is missing or different where it runs (a package, a file, a device, the network): the error names what to install, fetch or attach. Where MIME gives it, with what its message says happened and what its action says to do (`{…}` is filled in from the experiment): - in `mime/assets/_fetch.py`: - what happened: `{…} is not at {…}: the server answered, and has no file at that address ({…})` - what to do: `the address is wrong, or the file was moved: check the locations in the reference ('mime assets list'), or copy the file to {…} and run ''{…}''` - in `mime/assets/_fetch.py`: - what happened: `{…} could not be downloaded from any location: {…}` - what to do: `check the network, or copy the file to {…} and run ''{…}''` - in `mime/assets/_fetch.py`: - what happened: `{…} is not at {…}: the server answered, and has no file at that address ({…})` - what to do: `the address is wrong, or the file was moved: check it, then 'mime assets fetch ' again` - in `mime/assets/_fetch.py`: - what happened: `{…} could not be downloaded from {…}: {…}` - what to do: `check the network and the address, then 'mime assets fetch ' again` Reading an error and reaching its full traceback: [reading an error](../reading_errors.md). Every code: [the index](index.md).