gem 安装 cocoapods 遇到了问题

偶然敲错了命令,偶然间破坏了系统文件,偶然间只能重装一下macOS,偶然间配置开发环境,于是就遇到了标题。。

在iOS日常开发中,CocoaPods 是一个绕不开的三方库,除非大家都已经使用Swift Package了,感觉可能性也不太大。不然的话,安装,配置 Pod 基本每个项目都在发生。

这次就是偶然间重装 Pod,然后就遇到这个问题。

$ sudo gem install cocoapods
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.

解决这个问题

错误描述:

你没有这个目录/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 写入权限。

我怎么会没有这个账户的写入权限?明明已经使用了sudo

隐私中添加权限

第一个想到的原因是,因为是新安装的系统,还没有配置相应app隐私权限。那么就去 系统设置 – 隐私和安全性 – 完全的磁盘访问权限 – 添加需要的开发工具。

再次尝试命令,然并卵。。奇怪。。

升级ruby

于是想到的第二个原因,是不是 gem 在哪里出了问题。有时对于未知错误,并没相应经验,只能拜托于搜索,看看能不能有点解决思路或者方法。

找到了几个相关的技术文,大体是说 macOS 的ruby环境版本太低,需要更新一下就可以了。

既然有了方向,那就试一下。

首先要做的是 升级 ruby 版本

这里找到两个三方库 chrubyruby-install,可以方便的管理系统ruby版本,这个方法是好的,毕竟可能也需要会用到其他版本的情况。

安装的方式是使用 Homebrew,这个管理三方包的工具,使用mac的人应该都挺熟悉。安装只需要一个命令

$ brew install chruby ruby-install
# ...
# 输出结果:
# Add the following to the ~/.bash_profile or ~/.zshrc file:
#   source /usr/local/opt/chruby/share/chruby/chruby.sh

# To enable auto-switching of Rubies specified by .ruby-version files,
# add the following to ~/.bash_profile or ~/.zshrc:
#   source /usr/local/opt/chruby/share/chruby/auto.sh

安装完成之后会有提示,向.zshrc文件或 .bash_profile文件 中添加内容。至于使用的是什么?可以用命令获取,

$ echo $SHELL
# 输出结果:/bin/zsh

我使用的zsh,那么就需要向 .zshrc文件中加添加

source /usr/local/opt/chruby/share/chruby/chruby.sh
source /usr/local/opt/chruby/share/chruby/auto.sh

最后我们就可以是使用如下命令,安装最新版Ruby啦。

$ ruby-install ruby 版本号(可选)
# 输出结果:Successfully installed ruby 3.2.2 into /Users/youwei/.rubies/ruby-3.2.2

如果不设置具体的版本号,默认安装最新版的 Ruby。
使用 chruby 命令,可以手动切换ruby版本环境。

$ chruby ruby-3.2.2

如果一直想使用某个版本,可以向~/.zshrc~/bash_profile文件中添加使用ruby的版本。

chruby ruby-3.2.2

现在重新启动一下终端iterm,查看一下ruby的版本。

$ ruby -v
# ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin22]

很不错,到现在为止,已经更新了 ruby环境。

只要我们重新执行篇头安装 cocoapods 的命令,就可以顺利安装cocopods了。 ?

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYLuJH4V' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片