You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过R向GitHub提交Git代码时遇GPG锁等待问题求助

解决R提交GitHub代码时的GPG锁等待问题

核心问题分析

你遇到的是GPG密钥数据库被进程锁定的问题,进程ID 9857持有锁导致后续签名操作超时,这和GitHub令牌权限无关——之前重置令牌、重新克隆的操作没命中根因。

具体解决步骤

1. 终止持有锁的GPG进程

  • Windows:打开任务管理器,找到PID为9857的gpg-agent或gpg进程,右键结束任务。
  • macOS/Linux:在终端执行命令:
    kill -9 9857
    
    若不确定进程名,可先执行ps aux | grep gpg确认GPG相关进程。

2. 手动删除GPG锁文件

如果杀进程后问题依旧,手动清理锁文件:

  • macOS/Linux:锁文件位于~/.gnupg/目录,执行:
    rm -rf ~/.gnupg/*.lock
    
  • Windows:锁文件在C:\Users\<你的用户名>\AppData\Roaming\gnupg\路径下,找到所有后缀为.lock的文件删除。

3. 重启GPG代理

执行命令重启代理,确保密钥数据库恢复正常:

gpgconf --kill gpg-agent
gpg-agent --daemon

4. 临时跳过GPG签名(应急方案)

如果上述操作仍无法解决,可临时关闭Git的GPG签名验证,先完成代码提交:

git config --global commit.gpgsign false

后续需要恢复签名时,执行:

git config --global commit.gpgsign true

验证操作

执行gpg --list-keys,若能正常输出密钥列表,再尝试用R的提交功能推送代码。

内容的提问来源于stack exchange,提问作者Will

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:39:55