TL;DR
WSLでyarnをインストールしようとしたら、gpgに関連したエラーが2つ出ました。
原因や原理はわかりませんが、それぞれネットの情報を参考にしたら解決できました。
エラーその1: gpg: can't connect to the agent: IPC connect call failed
gpgをinstallし直して解決しました。
apt remove gpg
apt install gnupg1
エラーその2: apt-key gpg no valid OpenPGP data found
apt-keyをいったんファイルにして追加することで解決しました。
curl -O -fsSL https://download.docker.com/linux/debian/gpg
sudo apt-key add gpg
環境
Windows10
WSL Ubuntu20.04
nvmを使ってnodeをインストール済
詳しく
Webサイト高速化のための 静的サイトジェネレーター活用入門という本のために、
WSL上に環境を構築しているときに発生しました。
書籍に付属していた開発環境用の資料と最新のyarnのインストールが若干違ったので、yarnの公式ページの内容を参考に実施しました。
エラーその1
公式サイトに従って、WSLで以下のコマンドを実行すると
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
エラーその1が発生
gpg: can't connect to the agent: IPC connect call failed
gpg、別名は「Gnu Privacy Guard」「GPG」「GnuPG」である。
これは、公開鍵でファイルの署名を検証したり、公開鍵と秘密鍵のペアでメール> の暗号化・復号化を行ったり署名を添付したりするツールである。
もしくは
通常,Linux環境では自分が意図した作成者が作ったソフトであるか、
使うインストーラーが本物である事を検証(身元が正しいかどうか)してからインストールします.
このとき,ソフトウェアの検証に使用される仕組みの一つがgpgです.
とのこと。
解決方法は以下のようにインストールし直す。
sudo apt remove gpg
sudo apt install gnupg1
エラーその2
gpgをインストールし直したので、再びyarnのインストールを実行
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
しかし、エラーその2が発生
gpg: no valid OpenPGP data found.
apt-keyをいったんファイルにして追加することで解決。
curl -O -fsSL https://download.docker.com/linux/debian/gpg
sudo apt-key add gpg
以下のように出力されたので、良さそう。
OK
apt-key は、apt が パッケージを認証するのに使用するキーの一覧を管理するのに使用します。このキーで認証されたパッケージは、信頼するに足ると見なせるでしょう。
さきほどインストールし直したgpgには公開鍵が含まれていないので、公開鍵を取得してそれを使ってインストールしようとしているパッケージ(この場合はyarn)を認証しようとしているらしい?
yarnのインストール
三度目の正直
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
以下の出力が返ってきたので、問題なさそう。
deb https://dl.yarnpkg.com/debian/ stable main
あとは公式サイト通りに実行
sudo apt update && sudo apt install yarn
sudo apt update && sudo apt install --no-install-recommends yarn
インストールの確認!うまくいきました。
yarn -v
1.22.4