cocoa豆荚不更新El Capitan上的豆荚
我已经升级到埃尔卡皮坦,从那以后我无法更新我的豆荚。
$ pod update -bash: pod: command not found
所以我试图重新安装CocoaPods并得到这个:
$ sudo gem install cocoapods ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj
我是这台电脑的pipe理员。 为什么发生这种情况?
这是由El Capitan引入的新的系统完整性保护function引起的。 它甚至限制了pipe理员写入/usr/bin
。
你最好的select是安装gem,而不需要sudo
。 有一个很好的指导如何做到这一点 。
如果你不想这样做,你可以把CocoaPods安装到/usr/local/bin
而不是像这个答案中所显示的那样:
sudo gem install -n /usr/local/bin cocoapods
这应该适合你
sudo gem install -n /usr/local/bin cocoapods
不允许操作 – / usr / bin / xcodeproj#3692
无论出于何种原因,只要简单升级系统,无根据的东西似乎就不那么严格了。 我可以从10.10升级的机器上sudo gem install cocoapods,但是,binstubs不再安装到/ usr / bin中:
$ sudo gem install cocoapods [...] 1 gem installed $ export PATH=$PATH:/Library/Ruby/bin $ pod --version 0.37.2
我们从一些用户那里得知,他们在进行全系统安装时收到这个错误:
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod
我们不确定为什么gem在某些系统上的行为不同,但是可以通过将
-n /usr/local/bin
传递给install命令来解决这个问题,这样pod可执行文件就会被安装到那里。
从CocoaPods问题3736
-
卸载cocopods的所有实例(只是为了安全,保持干净)请参阅完全卸载Cocoapods
sudo gem uninstall cocoapods
甚至更好地完全卸载所有组件(并为每个组件select所有版本)
gem list --local | grep cocoapods | awk '{print $1}' | xargs sudo gem uninstall
-
再次安装
sudo gem install -n /usr/local/bin cocoapods
-
更改访问权限
sudo chmod +rx /usr/local/bin/
关于原来的问题/问题:
$ sudo gem install cocoapods ERROR: While executing gem ... (Errno::EPERM) Operation not permitted
我发现我有几个 GEMS同样的问题,所以我推广了公认的答案( 基斯·斯迈利 )来更新所有当地的gem…(在无生命力的El Capitan)
$ sudo gem install cocoapods -n /usr/local/bin/ # this command installs $ sudo gem update -n /usr/local/bin/ # this command updates all local gems
这个效果很好,会吐出所有更新和错误的详细日志。
我看到很多错误。 他们都“无法转换”错误。 parsing许多文档将遇到“跳过”的错误…像这样:
$ unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/jazzy... skipping
我相信这些跳过错误不是问题。
在这个过程中,CocoaPods将会与其他所有本地GEMS一起更新,具体取决于当地GEMS的当前状态。 我相信这是处理无根问题(这是问题的原因)的最好方法。
安装自定义和标准安装Pod的最佳select请参阅链接: https : //github.com/CocoaPods/CocoaPods/issues/3692
你是否再次安装Xcode命令行工具? 这解决了我的问题。 您需要在Xcode首选项(位置)中select命令行工具,然后安装cocoa豆荚。
对我来说,它的工作:sudo gem install -n / usr / local / bin cocoapods –pre