You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Mac(OS X High Sierra)下安装CocoaPods时sudo密码验证失败求助

别慌!这种情况绝对不是系统被锁定了,我帮你理清楚问题出在哪,以及怎么解决:

问题原因分析

首先明确:输入密码时出现的钥匙图标是Mac的正常安全提示,说明你正在输入敏感的系统密码,完全不是系统锁定的信号。导致“Sorry, try again”的常见原因有这几个:

  • 密码输入错误:Mac在处理sudo密码时,屏幕上不会显示任何输入反馈(连星号都没有),很多人会误以为没输进去而重复输入,或者记错了管理员密码,直接导致验证失败。
  • 当前账号无管理员权限:如果你的登录账号不是Mac的管理员账号,哪怕输入了密码,也无法通过sudo的权限验证,自然会提示重试。
  • 系统Ruby的权限限制:OS X High Sierra默认开启了SIP(系统完整性保护),它会限制对系统级目录的写入操作,虽然这不会直接导致密码验证失败,但有时候会和sudo权限交互出现异常,间接引发验证问题。
解决办法

针对不同原因,对应的解决步骤如下:

1. 确保密码输入正确

  • 输入密码时别纠结看不到字符,正常输入你的管理员密码(就是你平时解锁Mac、修改系统设置用的密码),输完直接按回车就行,不要重复输入或者中途修改。
  • 可以先打开「系统偏好设置」→「用户与群组」,点击左下角的锁图标,尝试用你的密码解锁,确认密码是否正确,同时也能确认你的账号是不是管理员。

2. 切换到管理员账号操作

如果当前账号不是管理员,先切换到管理员账号再执行命令:

su 你的管理员用户名

输入管理员密码登录后,再运行安装命令:

sudo gem install cocoapods

3. 用Ruby版本管理器绕开系统权限限制(推荐方案)

因为系统Ruby受SIP限制,用sudo安装gem容易踩各种权限坑,更推荐用Ruby版本管理器(比如rbenv)来搭建独立的Ruby环境,这样不需要sudo就能安装CocoaPods:

  • 先安装Homebrew,你可以用官方提供的安装脚本执行:
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  • 安装rbenv:
    brew install rbenv
    
  • 初始化rbenv并安装兼容High Sierra的Ruby版本(比如2.7.6,这个版本对High Sierra支持很好):
    rbenv init
    rbenv install 2.7.6
    rbenv global 2.7.6
    
  • 最后直接安装CocoaPods,不需要sudo:
    gem install cocoapods
    

4. 重置管理员密码(如果确实忘记了)

要是你确定自己记不起管理员密码了,可以通过恢复模式重置:

  • 重启Mac,按住Command + R进入恢复模式
  • 打开「实用工具」→「终端」,输入命令:
    resetpassword
    
  • 按照屏幕提示一步步操作,重置你的管理员密码即可。

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

火山引擎 最新活动