環境
Ubuntu: 18.04
Emacs: 25.2
状況
Emacsでvue-modeをpackage-installでインストールしようとした時に以下のようなエラーが出てインストールできませんでした。
Required package 'mmm-mode-0.5.5' is unavailable.
最初は上記のようなメッセージが出ていたので、依存関係の問題かな?と思いましたが、mmm-modeのインストールも含めてpackage-installが動かないことがわかりました。
そしてよくよく見たらEmacsで以下のようなメッセージが出ていました。
Failed to verify signature archive-contents.sig:
No public key for 066DAFCB81E42C40 created at 2020-05-05T00:00:00+0000 using RSA
Command output:
gpg: Signature made Wed May 5 00:00:00 2020 UTC
gpg: using RSA key C433554766D3DDC64221BFAA066DAFCB81E42C40
gpg: Can't check signature: No public key
どうやらGNU ELPA package manager用のGPG keysが無い?古い?ようです。
対処方法
よって、以下のコマンドでインポートを試みます。
※ オプションは--receive-keysでも--search-keysでも似たような動きをしました。
$ gpg --homedir ~/.emacs.d/elpa/gnupg/ --receive-keys 066DAFCB81E42C40
gpg: error searching keyserver: Server indicated a failure
gpg: keyserver search failed: Server indicated a failure
うーん、失敗しました。Key Serverが見つかってなさそうなので、指定して実行してみます。
$ gpg --keyserver hkp://keyserver.ubuntu.com:80 --homedir ~/.emacs.d/elpa/gnupg/ --receive-keys 066DAFCB81E42C40
gpg: data source: http://162.213.33.9:80
(1) GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org>
3072 bit RSA key 066DAFCB81E42C40, created: 2019-04-23
Keys 1-1 of 1 for "066DAFCB81E42C40". Enter number(s), N)ext, or Q)uit > 1
gpg: key 066DAFCB81E42C40: public key "GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
インポートできた模様です。
もう一度package-installしたらうまく行きました。
参照
GNU ELPA - gnu-elpa-keyring-update
https://elpa.gnu.org/packages/gnu-elpa-keyring-update.html