Beside installing apt install fuse
it is important to make sure that you are running snap on an operation system that allows for it.
For example trying to run snap inside a container (a VPS, or a docker container) that does not have the correct configuration to run snap, snap will be able to install once, but will not work after restart, and this kind of error messages will be present in the syslog:
Oct 28 22:21:20 myhost snapd[628]: daemon.go:247: started snapd/2.55.5+20.04 (series 16; classic; devmode) ubuntu/20.04 (amd64) linux/5.4.0-1160.21.1.vz7.174.1.
Oct 28 22:21:20 myhost snapd[628]: main.go:129: system does not fully support snapd: cannot mount squashfs image using "squashfs": mount: /tmp/sanity-mountpoint-151175218: mount failed: Operation not permitted.
Oct 28 22:21:20 myhost snapd[628]: daemon.go:340: adjusting startup timeout by 45s (pessimistic estimate of 30s plus 5s per snap)
More on that here:
https://community.letsencrypt.org/t/system-does-not-fully-support-snapd-cannot-mount-squashfs-image-using-squashfs/132689/13
also some keywords to look for on this topic and how to allow containers to run snap correctly would be:
--cap-add SYS_ADMIN
--device /dev/fuse