最近使用pod的时候升级到1.0.0版本后遇到一些坑,整理一下
首先是CocoaPods报错:The dependency `` is not used in any concrete target
错误内容
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin14/rbconfig.rb:213: warning: Insecure world writable dir /Applications/Cocos/tools/ant/bin in PATH, mode 040777 Re-creating CocoaPods due to major version update. Updating local specs repositories Analyzing dependencies
[!] The dependency `ReactiveCocoa (= 2.1.8)` is not used in any concrete target.
The dependency `objectiveflickr (= 2.0.4)` is not used in any concrete target.
The dependency `LinqToObjectiveC (= 2.0.0)` is not used in any concrete target.
The dependency `SDWebImage (= 3.6)` is not used in any concrete target.
查了查好像是配置podfile文件的问题
作如下修改
platform :ios, ‘7.0‘ target "RWTFlickrSearch" do
pod ‘ReactiveCocoa‘, ‘2.1.‘
pod ‘objectiveflickr‘, ‘2.0.‘
pod ‘LinqToObjectiveC‘, ‘2.0.‘
pod ‘SDWebImage‘, ‘3.6‘
end
这样再运行pod install,就会成功了。
原因是podfile升级到最新版本,pod里的内容必须明确指出所用第三方库的target
遇到这个问题时,首先打算的是重新安装,结果又遇到坑,发现报错如下:
ERROR: Could not find a valid gem 'cocospods’ (>= 0), here is why:
Unable to download data from http://ruby.taobao.org/ - bad response Not Found 404 (http://ruby.taobao.org/latest_specs.4.8.gz)
查了查发现需要将http 替换成 https
作如下修改:
1.gem sources --remove http://ruby.taobao.org/
2.gem sources -a https://ruby.taobao.org/
3.查看源对不对
gem sources -l
4.再安装就好了
sudo
gem install cocoapods
然后又遇到坑,报这个错:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
后来使用这个指令解决了
sudo gem install -n /usr/local/bin cocoapods
由于我一直使用的是 pod update --verbose --no-repo-update 和 pod install --verbose --no-repo-update 这两条指令,
期间还卸载重新安装了下使用如下指令1.
卸载cocoapods$ sudo gem uninstall cocoapods
2. 安装xcodeproj$ sudo gem install xcodeproj
3. 安装指定版本的Cocoapods$
sudo gem install cocoapods -v 0.39.0 安装成功之后又遇到问题了
所以会忽略升级CocoaPods的spec仓库 然后我又去 pod install 和 pod update 了下终于能用了。
2016-10-8更新
遇到一个安装路径的问题使用如下指令解决
$ sudo chmod +rx /usr/local/bin
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
//后面的地址你可以打开Xcode显示包内容,找到那个文件夹拖到终端里面比较不容易错。
然后再pod setup
更新完Xcode8之后,用pod拉完项目,用git发现不能用,(没用到pod的项目可以正常使用git),
报的图如下>
每次都要输入,用户名及密码,然后还总是验证不过,
后来想到用命令行试试,在终端使用 git push 指令
给我报个这,
那么问题就明了了,是git的地址被pod弄混了,
然后更新项目的git地址 git remote set-url origin xxxxxxxxxxxx(这里填项目的git地址)
再git push
提示输入账号密码,
然后
去公司的git内网看了下,上传成功,解决问题.又可以愉快的code了.
2016-11-10更新
最近用pod又出问题了,git拉下来的新工程,install的时候出错
[!] /usr/local/bin/git clone https://github.com/bang590/JSPatch.git /var/folders/hx/sswypb8n0lg94qy3s12jsdyr0000gn/T/d20161110-28964-9p7j8k --template= --single-branch --depth 1 --branch 1.1
Cloning into '/var/folders/hx/sswypb8n0lg94qy3s12jsdyr0000gn/T/d20161110-28964-9p7j8k'...
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
在 Stack Overflow 上面找到了解决方案
解决方法是重新配置了 github 的 SSH Key
期间重新安装pod的时候还遇到这个问题
Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'...
fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': SSLRead() return error -9806
因为实在是太大,网速不给力,
我只好到同事的Mac的
~/.cocoapods/repos目录下面拷贝出master文件到自己的Mac上的相应位置.