66

I've been building my own snap and installing it successfully for a while now, but just today, every time I build my snap file, when I try to install it, I get...

error: cannot find signatures with metadata for snap "mysnap_1.0_amd64.snap"

I am at a complete loss. What does this mean? How do I fix it? I can't think of what I've done to cause this to start happening.

edwinksl
  • 23,569
  • 16
  • 74
  • 100
Spencer Parkin
  • 905
  • 1
  • 7
  • 7

1 Answers1

103

Yeah this is a terribly unhelpful error, I have no idea why they haven't fixed it. It relates to "assertions" in snapd. In this case, that is the verification that the snap comes from a trusted party. Since you're installing a local snap, you have no assertions for it, and snapd doesn't trust it. Think of it a bit like sideloading Android apps, if you've ever done that.

Regardless, you can get past this during your testing with the also-terribly-named --dangerous flag:

$ sudo snap install --dangerous <snap>

note: there was some churn on this flag; in earlier releases it was --force-dangerous.

kyrofa
  • 7,296
  • 1
  • 31
  • 26
  • That got me passed the error. Thank you! I suppose if I had read the man page for snap I should have been able to deduce that. So maybe the need for this flag will go away after a proper upgrade of the snap daemon? Edit: Oh, looks like snap is still in development. – Spencer Parkin Sep 09 '16 at 04:11
  • Indeed, snapd is still being developed. The need for this flag will go away once you publish your snap to the store, where it will get assertions. – kyrofa Sep 09 '16 at 16:30
  • 8
    This is still an error in 2020. Please replace the message with one that actually describes the problem! – Brett Sutton Feb 05 '20 at 00:17