在新公司要做iOS开发,所以在新电脑上安装Cocoapods
在升级gem,sudo gem update --system
,和安装cocoapods
时都遇到如下的提示:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/gem
原因大概是:Apple已内置安装了ruby,不能修改
参考:
the reason why you are getting that error is because Apple doesn’t allow you to install gems directly into the version of Ruby that came preinstalled on your Mac
其中的一个解决办法就是,可通过安装ruby版本管理器来解决,如chruby
或者RVM
参考Install Ruby 3.1 · macOS
brew install ruby-install chruby
安装后按提示,在.zshrc
中写入如下的内容:
source /opt/homebrew/opt/chruby/share/chruby/chruby.sh
source /opt/homebrew/opt/chruby/share/chruby/auto.sh
chruby ruby-3.1.2
然后安装Ruby,如下的代码安装并使用最新的ruby
ruby-install --latest ruby
安装之前看下当前系统的ruby的版本:
ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin22]
在安装过程中,可能会提示raw.githubusercontent.com
网站的内容不能访问,此时需要配置host,推荐安装SwitchHosts
host配置如下:
185.199.110.133 raw.githubusercontent.com
或者参考:
配置一个远程的,自动更新的host
然后可能需要重启系统才生效。继续执行ruby-install --latest ruby
参考:
参考官方文档:
安装cocoapods
sudo gem install cocoapods
原始源地址为https://github.com/CocoaPods/Specs.git
参考CocoaPods 镜像使用帮助
$ cd ~/.cocoapods/repos
$ pod repo remove master
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
最后进入自己的工程,在自己工程的podFile第一行加上:
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
移除现有的Ruby镜像
gem sources --remove https://rubygems.org/
添加清华的镜像,参考Ruby Gems 镜像使用帮助
# 添加镜像源并移除默认源
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/
# 列出已有源
gem sources -l
# 应该只有镜像源一个
gem相关,可参考:
查看gem版本:
gem -v
1.pod install
时提示HTTP/2 stream 1 was not closed cleanly before end of the underlying stream
git config --global http.version HTTP/1.1
可参考: