新闻中心

如何解决 Composer 在 macOS 上因 keychain 权限导致的认证失败?

2025-12-12
浏览次数:
返回列表
Composer在macOS因keychain权限拒绝导致Git认证失败,需检查钥匙串凭据权限、配置git credential.helper为osxkeychain、避免Composer回退HTTPS,并重置Git凭据触发重新授权。

如何解决 composer 在 macos 上因 keychain 权限导致的认证失败?

Composer 在 macOS 上因 keychain 权限拒绝访问凭据,会导致 git clone 或私有包安装时认证失败(如 401 UnauthorizedPermission denied (publickey)),根本原因是 Git 尝试从系统 keychain 读取凭证时被 macOS 安全策略拦截。

检查并修复 keychain 中的 Git 凭据条目

macOS 的钥匙串可能存有损坏、过期或权限受限的 Git 凭据(如 github.com、gitlab.com 等)。打开“钥匙串访问”应用,搜索 github.com 或对应 Git 域名,找到类型为 Internet password 的条目。双击打开,点击“访问控制”,确认“允许所有应用程序访问此项目”已勾选;若未勾选,勾选后点击“好”保存。也可直接删除旧条目,让 Git 下次自动重新存储(需配合正确的凭据配置)。

确保 Git 使用 osxkeychain 正确辅助工具

运行以下命令确认 Git 已启用 keychain 辅助:

git config --global credential.helper

应输出 osxkeychain。若为空或错误,执行:

微软爱写作 微软爱写作

微软出品的免费英文写作/辅助/批改/评分工具

微软爱写作 130 查看详情 微软爱写作
  • git config --global credential.helper osxkeychain
  • 如果使用 Apple Silicon Mac 且 Homebrew 安装了 Git,可能需用 git config --global credential.helper /opt/homebrew/bin/git-credential-osxkeychain(路径以 which git-credential-osxkeychain 输出为准)

避免 Composer 绕过 Git 凭据(禁用 https 回退)

Composer 默认在 SSH 失败时自动回退到 HTTPS,而 HTTPS 依赖 keychain 存储的用户名/密码。若你本意是走 SSH(如私有 GitLab 仓库),却因 keychain 拒绝导致 HTTPS 认证失败,可强制 Composer 仅用 SSH:

  • composer.json 中为仓库指定 "type": "vcs" 并确保 URL 是 git@... 格式(非 https://...
  • 运行 composer config --global github-oauth.github.com <your_token></your_token>(仅适用于 GitHub)或改用 SSH 密钥认证
  • 临时禁用 HTTPS 回退:设置环境变量 export COMPOSER_DISABLE_HTTPS=1(不推荐长期使用)

重置 Git 凭据并触发重新授权

清除当前缓存的凭据,让 Git 重新弹出授权窗口(注意:需确保钥匙串权限已按第一点设好):

  • git credential reject,然后输入:
  • protocol=https
  • host=github.com
  • username=(留空后回车)
  • 之后执行任意需要认证的 Git 操作(如 git ls-remote git@github.com:vendor/package.git),macOS 会再次提示授权

基本上就这些。关键是钥匙串权限放开 + Git 辅助工具配置正确 + Composer 不意外降级到 HTTPS。不复杂但容易忽略权限细节。

以上就是如何解决 Composer 在 macOS 上因 keychain 权限导致的认证失败?的详细内容,更多请关注其它相关文章!


# 这类  # 潜江品牌推广网站有哪些  # 惠普网络营销推广策略  # 四川网站推广产品  # 呈贡营销推广优惠  # 眉山科技企业网站建设  # zencart 1.5.1 seo  # 芝罘区全网营销推广开发  # 商场餐饮营销推广方案  # 亳州租房网站建设  # 揭阳网站优化哪家强  # 中文网  # 相关文章  # 也可  # 适用于  # 如何处理  # macos  # 勾选  # 放在  # 如何解决  # 微软  # a  # mac  # 工具  # internet  # app  # github  # json  # git  # js  # word  # composer 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 包子漫画官方网站在线链接-包子漫画在线阅读平台主页地址  《主播少女的秘密账号迷宫》首支宣传片  QQ邮箱正确登录入口_QQ邮箱官方网站使用地址  css绝对定位元素脱离父容器怎么办_确保父元素position非static  淘宝网网页版登录入口 淘宝官方网页版快捷登录  电脑屏幕颜色不舒服怎么办_Windows夜间模式与色彩校准教程【护眼技巧】  XML中包含HTML标签导致解析错误? 正确嵌入非XML数据的两种方法  Promise错误处理:在catch后终止链式then执行的策略  Angular中父组件异步更新子组件复选框状态的实践指南  谷歌学术网站直达地址 谷歌学术搜索网页版一键进入  J*aScript:在map操作中高效处理空数组  css滚动动画效果怎么实现_使用Animate.css滚动触发动画类  解决Flask中Quill编辑器内容提交失败及TypeError的指南  Animex动漫社网入口地址 Animex动漫社网正版在线入口  c++20的std::jthread是什么_c++可中断线程与RAII式管理  Python多版本共存与虚拟环境管理深度指南  抖音隐秘迷城小游戏入口_ 抖音冒险解谜小游戏秒玩  CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示  搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具  c++如何实现一个简单的ECS框架_c++数据驱动设计与游戏开发  QQ邮箱官方邮箱登录入口 QQ邮箱网页版快速访问  Python自定义类排序:解决lambda键值访问TypeError的实践指南  Lar*el头像管理:图片缩放与旧文件删除的最佳实践  深入理解字体排版:Adobe光学字偶距与CSS字偶距的差异与实现  三星ZFold5多任务卡顿_Samsung ZFold5流畅度提升  Golang如何安装Swagger工具_GoSwagger文档生成环境  C++编译期如何执行复杂计算_C++模板元编程(TMP)技巧与应用  MAC怎么在地图App里使用“四处看看”_MAC体验部分城市的3D实景街景  神庙逃亡小游戏在线玩 神庙逃亡小游戏入口  如何优雅地扩展SprykerGlue后端API授权逻辑,使用spryker/glue-backend-api-application-authorization-connector-extension  c++ 命名空间怎么用 c++ namespace使用指南  PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符  蛙漫2日版入口 WAMAN2(日版)无删减漫画官网链接  在Pyomo中实现基于变量的条件约束:Big-M方法详解  在python-socketio事件处理器中安全访问Flask应用上下文  微信群消息显示延迟如何解决 微信群消息刷新优化方法  狙击外星人小游戏开始_狙击外星人小游戏立即开始  J*aScript map 迭代中检测空数组元素的有效方法  在J*a中如何开发简易仓库管理与库存统计_仓库管理库存统计项目实战解析  Golang如何使用new_Go new分配内存机制讲解  快手极速版在线观看 官方网页版登录地址  C#中解析不规范的HTML为XML 常见的坑与解决办法  12306选座如何查看座位示意图_12306座位示意图解读与使用  优化LangChain文档加载与ChromaDB集成:解决多文档处理与分块问题  win11如何卸载Windows更新补丁 Win11解决更新导致系统不稳定的问题【修复】  痛风发作了怎么办? 快速止痛和后期饮食调理  知音漫客正版漫画平台_知音漫客官网账号登录  照顾宝贝2小游戏免费秒玩入口  如何使用Rector自动化升级旧代码_通过Composer安装和配置Rector进行代码重构  QQ邮箱官方网站登录入口_QQ邮箱网页版在线使用 

搜索