目前的行为是什么?
尝试在新的 Ubuntu 18.04.1 LTS 服务器上安装 yarn,我收到以下错误:
root<strong i="8">@vps631721</strong>:~# curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
OK
root<strong i="9">@vps631721</strong>:~# apt-key list
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2016-10-05 [SC]
72EC F46A 56B4 AD39 C907 BBB7 1646 B01B 86E5 0310
uid [ unknown] Yarn Packaging <[email protected]>
sub rsa4096 2016-10-05 [E]
sub rsa4096 2016-10-30 [S] [expires: 2019-01-01]
.................
root<strong i="10">@vps631721</strong>:~# 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
root<strong i="11">@vps631721</strong>:~# sudo apt-get update
Hit:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:2 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Hit:3 http://nova.clouds.archive.ubuntu.com/ubuntu bionic InRelease
Hit:4 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-updates InRelease
Get:5 https://dl.yarnpkg.com/debian stable InRelease [13.3 kB]
Hit:6 http://nova.clouds.archive.ubuntu.com/ubuntu bionic-backports InRelease
Hit:7 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Err:5 https://dl.yarnpkg.com/debian stable InRelease
The following signatures were invalid: EXPKEYSIG E074D16EB6FF4DE3 Yarn Packaging <[email protected]>
Reading package lists... Done
W: GPG error: https://dl.yarnpkg.com/debian stable InRelease: The following signatures were invalid: EXPKEYSIG E074D16EB6FF4DE3 Yarn Packaging <[email protected]>
E: The repository 'https://dl.yarnpkg.com/debian stable InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
我不知道在执行apt-key list
时行sub rsa4096 2016-10-30 [S] [expires: 2019-01-01]
(即今天)是否有任何意义?
什么是预期行为?
纱线安装。
请提及您的 node.js、yarn 和操作系统版本。
Ubuntu 18.04.1 LTS
哦,钥匙今天可能已经过期了! 一旦我休假回来(今天晚些时候或明天),我就得看看。
我们今天也有这个问题。
感谢您的所有帮助@Daniel15。
@DanBuild事实上:在添加 repo 并在 debian 上运行apt-get update
,我也遇到了EXPKEYSIG E074D16EB6FF4DE3 Yarn Packaging <[email protected]>
。
请注意您提供的密钥:
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --keyid-format 0xlong
gpg: WARNING: no command supplied. Trying to guess what you mean ...
pub rsa4096/0x1646B01B86E50310 2016-10-05 [SC]
72ECF46A56B4AD39C907BBB71646B01B86E50310
uid Yarn Packaging <[email protected]>
sub rsa4096/0x02820C39D50AF136 2016-10-05 [E]
sub rsa4096/0xD101F7899D41F3C3 2016-10-05 [S] [expired: 2017-10-05]
sub rsa4096/0x46C2130DFD2497F5 2016-10-30 [S] [expires: 2019-01-01]
sub rsa4096/0xE074D16EB6FF4DE3 2017-09-10 [S] [expired: 2019-01-01]
请注意,过期的子键正是引用错误的那个。
@Daniel15根据https://github.com/yarnpkg/yarn/issues/4253 ,密钥有效期至 2019 年 1 月 1 日
不久前我遇到了同样的问题,它似乎一直有效到 2018 年。
哦...顺便说一句,大家新年快乐,Yarn 干得好!
安装脚本应该仍然有效,所以你现在可以使用它。 我会尽快修复它,但要到今晚才能修复,因为我目前正在旅行。
我通常会为密钥轮换创建一个 Github 问题,但我在 2018 年忘记这样做了。我将在我的日历中添加一个提醒,这样我明年也不会忘记这个。
作为临时修复,添加[trusted=yes]
将删除 GPG 错误:
deb [trusted=yes] https://dl.yarnpkg.com/debian/ stable main
作为临时修复,添加
[trusted=yes]
将删除 GPG 错误:`
deb [trusted=yes] https://dl.yarnpkg.com/debian/ stable main
我将此添加到我的 /etc/apt/sources.list.d/yarn.list 文件...但运行 sudo apt update 仍然给我错误。 还有什么我需要做的吗?
@daveomcd我相信它只是在添加后作为警告出现,请尝试运行sudo apt-get install yarn
。 之后就可以安装了。
当 ansible 塔回调运行更新缓存并导致供应失败的剧本时,这会导致我的自动供应(aws 自动缩放点队列)失败。 是时候强化我的剧本了,那里的人要小心!
我真的很抱歉打破它。 这100%是我的错。 我通常会为每年的密钥轮换创建一个 Github 问题(请参阅上一期的 #4253),但去年忘记创建一个,今年我忘记了。
@daveomcd的解决方法很好。 我离家还有几个小时,但我会轮换密钥并尽快发布新的。 我还将配置一些监控,以便我们在密钥到期后 90 天内收到警报。
请注意,对于 CI 系统,理想情况下您不应在每次构建时安装 Yarn fresh。 相反,使用安装了所有构建工具的 Docker 映像。 :)
@Daniel15不用担心,我们都感谢您完全自愿且免费地投入时间来维护开源软件。
请注意,对于 CI 系统,理想情况下您不应在每次构建时安装 Yarn fresh。 相反,使用安装了所有构建工具的 Docker 映像。 :)
或者缓存它......这就是我在 Circle CI 上解决这个问题的方式......这样如果最新的安装失败,我仍然可以使用纱线。
我认为 CircleCI 的 Node.js Docker 容器预装了 Yarn。
从我的手机发送。
2019 年 1 月 1 日,星期二,下午 4:12,Allan Chappell < [email protected]写道:
请注意,对于 CI 系统,理想情况下您不应该在
每个构建。 相反,将 Docker 映像与所有构建工具一起使用
安装。 :)或者缓存它......这就是我在Circle CI上解决这个问题的方式......
这样,如果最新的安装失败,我仍然可以使用纱线。—
你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/yarnpkg/yarn/issues/6865#issuecomment-450767431或静音
线程
https://github.com/notifications/unsubscribe-auth/AAFnHUwhfyQicMQpS_8ikFZ5NfcoI1iyks5u-_ligaJpZM4ZmBF5
.
正确的,
现在显然他们在 PHP 容器上也有一个 node-browsers 变体,其中还包括 yarn ......情况并非总是如此......是时候更新一些 docker 容器标签了。
我通常会为密钥轮换创建一个 Github 问题,但我在 2018 年忘记这样做了。我将在我的日历中添加一个提醒,这样我明年也不会忘记这个。
我建议在 1 月 1 日以外的日期使密钥过期……这样,如果它确实过期了,就不是在假期期间:)
认为这甚至可能比 jan1 更早报告。
https://github.com/yarnpkg/yarn/issues/6861
应该由https://github.com/yarnpkg/releases/commit/0f3e4b26cd64fda47e46d82bf3ab458935deb36a修复
请重新下载该密钥,因为它现在包含一个新的子密钥:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
新的子密钥在 2020-02-02 到期(感谢不使用 1 月 1 日的建议,@jleclanche)
@Daniel15感谢您的快速响应,我可以确认它有效 =)
是的,我只是仔细检查了新的 Debian 和 Ubuntu VM,并确认它现在可以正常工作。 谢谢你的耐心!
我的错误是假设 apt/dpkg 即使密钥/签名已过期,它仍然可以正常使用,因为在密钥仍然有效的情况下签署了回购协议(因为上次更新是在 11 月)。 我认为这就是“vanilla”GPG 所做的,也是它在 Windows 上的工作方式:
Microsoft 的签名工具允许开发人员在添加 Authenticode 签名的同时添加时间戳。 即使用于签名的证书已过期,时间戳也允许验证码签名。
https://docs.microsoft.com/en-us/windows/desktop/seccrypto/time-stamping-authenticode-signatures
我将通过创建一些监视脚本来跟进此问题,这些脚本会在密钥危险地接近到期时提醒我们。
Microsoft 的签名工具允许开发人员在添加 Authenticode 签名的同时添加时间戳。 即使用于签名的证书已过期,时间戳也允许验证码签名。
我认为它应该像那样工作! 可能是关于 Debian 的错误报告?
仍然有每晚回购的警告W: GPG error: https://nightly.yarnpkg.com/debian nightly InRelease: The following signatures were invalid: EXPKEYSIG E074D16EB6FF4DE3 Yarn Packaging <[email protected]>
E: The repository 'https://nightly.yarnpkg.com/debian nightly InRelease' is not signed.
我为每晚的 repo 生成了一个新的 GPG 子密钥,但是我遇到了 Aptly (#6904) 的问题,这使得重新发布 repo 变得不可能:/
18:00 daniel<strong i="6">@vps03</strong> /var/www/nightly.yarnpkg.com
% ./update-deb.sh
+ aptly repo add -remove-files=true yarn-nightly ./nightly/deb-incoming/
Loading packages...
+ aptly publish update -gpg-key=4F77679369475BAA nightly yarn-nightly
ERROR: unable to update: local repo with uuid 55ff60af-263a-4df6-8f97-2c09ad7a4995 not found
现在应该修复了!
你好,
问题仍然存在于我的/etc/apt/sources.list.d
:
deb https://dl.yarnpkg.com/debian/ stable main
编辑:没关系,重新下载密钥修复它。 :)
我可以支持上述评论。 密钥自 9 天前的上次轮换以来发生了变化,必须重新下载。
我为每晚构建添加了一个新的子项,但是不应该有
影响了稳定回购。 我得去看看这里发生了什么......
从我的手机发送。
2019 年 1 月 11 日星期五上午 1:37 bvnierop < [email protected]写道:
我可以支持上述评论。 密钥自上次以来已更改
9天前轮换,不得不重新下载。—
你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/yarnpkg/yarn/issues/6865#issuecomment-453452379或静音
线程
https://github.com/notifications/unsubscribe-auth/AEuWKj1tM5EhRflgriBWQ-iOw9gIhmSzks5vCFtngaJpZM4ZmBF5
.
密钥自 9 天前的上次轮换以来已更改
我在这里解决了命令:
须藤 pkill dirmngr; dirmngr --debug-all --daemon --standard-resolver
sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 4F77679369475BAA
wget https://yum.dockerproject.org/gpg
sudo apt-key 添加 gpg
我 4 天前下载的修改后的密钥(包括新的子密钥)今天再次停止工作。
抱歉……现在应该没问题了。 这是在#6916 中跟踪的。
我现在有一个监控关键到期日期的仪表板: https :
又过期了。
The following signatures were invalid: EXPKEYSIG 23E7166788B63E1E Yarn Packaging <[email protected]>
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
解决了问题
几周前我延长了到期时间,但您需要手动更新它,因为我还没有将其配置为自动更新。 见#7866
最有用的评论
应该由https://github.com/yarnpkg/releases/commit/0f3e4b26cd64fda47e46d82bf3ab458935deb36a修复
请重新下载该密钥,因为它现在包含一个新的子密钥:
新的子密钥在 2020-02-02 到期(感谢不使用 1 月 1 日的建议,@jleclanche)