Iva*_* M. 136 xcode ios cocoapods cocoapods-1.0.1
运行时pod repo update会生成以下错误:
Updating spec repo `master`
[!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
Run Code Online (Sandbox Code Playgroud)
使用cocoapods 1.0.1
我也知道这一点:主要规格回购率限制验尸.
在调用中添加--verbose标志会显示ruby调用堆栈:
.rvm/gems/ruby-2.3.0/gems/cocoapods-core-1.0.1/lib/cocoapods-core/github.rb:100:in `modified_since_commit'
.rvm/gems/ruby-2.3.0/gems/cocoapods-core-1.0.1/lib/cocoapods-core/master_source.rb:32:in `requires_update?'
.rvm/gems/ruby-2.3.0/gems/cocoapods-core-1.0.1/lib/cocoapods-core/master_source.rb:14:in `update'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:88:in `block (2 levels) in update'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/user_interface.rb:63:in `section'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:87:in `block in update'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:86:in `each'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/sources_manager.rb:86:in `update'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/command/repo/update.rb:23:in `run'
.rvm/gems/ruby-2.3.0/gems/claide-1.0.0/lib/claide/command.rb:334:in `run'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/lib/cocoapods/command.rb:50:in `run'
.rvm/gems/ruby-2.3.0/gems/cocoapods-1.0.1/bin/pod:55:in `<top (required)>'
.rvm/gems/ruby-2.3.0/bin/pod:23:in `load'
.rvm/gems/ruby-2.3.0/bin/pod:23:in `<main>'
.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'
Run Code Online (Sandbox Code Playgroud)
找不到任何解决方法,也无法运行该项目.
Ade*_*dem 411
其中一个主要问题是在2018年2月之后"删除了弱加密标准".
这里有一个注释:https: //github.com/blog/2507-weak-cryptographic-standards-removed
要解决这个问题,首先需要更新openssl,然后是ruby,然后是cocoapod.
$ which openssl
/usr/bin/openssl
$ openssl version
OpenSSL 0.9.8zh 14 Jan 2016
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew update
$ brew install openssl
$ brew upgrade openssl
`` If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
$ which openssl
/usr/local/opt/openssl/bin/openssl
$ openssl version
OpenSSL 1.0.2n 7 Dec 2017
$ brew install rbenv ruby-build
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
$ source ~/.bash_profile
$ rbenv install --list
Available versions:
1.8.5-p52
1.8.5-p113
1.8.5-p114
1.8.5-p115
1.8.5-p231
1.8.6
:
2.5.0-rc1
2.5.0
2.5.1
2.6.0-dev
:
$ rbenv install 2.5.1
$ rbenv versions
* system (set by /Users/username/.rbenv/version)
2.5.1
$ ruby --version
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
$ rbenv global 2.5.1
$ rbenv versions
system
* 2.5.1 (set by /Users/username/.rbenv/version)
$ ruby --version
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin16]
$ gem install cocoapods -n /usr/local/bin
$ which pod
/usr/local/bin/pod
$ pod --version
1.5.3
Run Code Online (Sandbox Code Playgroud)
现在,你可以做到
$ pod update
Run Code Online (Sandbox Code Playgroud)
来源链接:https://qiita.com/satoshi-iwaki/items/ed2c267127dcc80baa21
Iva*_* M. 135
最后设法通过删除./cocoapods/repos/master和运行来解决它pod install.
更正式的解决方案可能是这样的:
pod repo remove master
pod setup
pod install
Run Code Online (Sandbox Code Playgroud)
如果pod install在执行前两个步骤后失败,您可能需要删除您的Podfile.lock.
为什么它最初无法连接到Github是超出我的.
Mar*_*ars 51
你可以试试这个:
$sudo rm -fr ~/.cocoapods/repos/master
$pod setup
$pod install
Run Code Online (Sandbox Code Playgroud)
但在我的情况下,我不得不:
删除Podfile.lock然后
$pod install
Myk*_*los 43
在CocoaPods问题中可以找到类似于Max和Adem的另一个解决方案:
brew install ruby
sudo gem install cocoapods
Run Code Online (Sandbox Code Playgroud)
ruby --version
which ruby
Run Code Online (Sandbox Code Playgroud)
应该用 /usr/local/bin/ruby
原因: 事实证明,Github在2月22日更新为仅支持TLS 1.2.在High Sierra之前的旧版MacOS预装了Ruby 2.0.此版本使用OpenSSL 0.9.8,"只有支持TLS 1.2的服务器才会失败".
更新到最新的Ruby(2.5)和最新的CocoaPods(1.4)为我解决了这个问题,而无需对openssl做任何事情(Ruby更新openssl).如果您还不想更新到High Sierra,这是一个很好的解决方案.
nov*_*ven 22
我也遇到了同样的问题.在我的场景中,我在github上使用了cocoapods specs的镜像仓库(在其他地方托管).当我更新规格回购时,它工作了!
cd ~/.cocoapods/repos/master
git pull
Run Code Online (Sandbox Code Playgroud)
Nag*_*jun 14
这就像魔术一样
$sudo rm -fr ~/.cocoapods/repos/master
$pod setup
$pod install
Run Code Online (Sandbox Code Playgroud)
除此以外
$pod setup
Ctrl +C
cd ~/.cocoapods/repos
$git clone --depth 1 https://github.com/CocoaPods/Specs.git master
Run Code Online (Sandbox Code Playgroud)
来自Adem的一个稍微简单的解决方案,它不使用rbenv:
brew install openssl
brew upgrade openssl
brew install ruby
brew link --overwrite ruby
Run Code Online (Sandbox Code Playgroud)
最后,确保你没有你的PATH变量设置有/usr/local/bin 后 $PATH.您的PATH导出~/.bash_profile应该类似于:
export PATH=/usr/local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61210 次 |
| 最近记录: |