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

  1. 卸载cocopods的所有实例(只是为了安全,保持干净)请参阅完全卸载Cocoapods

     sudo gem uninstall cocoapods 

    甚至更好地完全卸载所有组件(并为每个组件select所有版本)

     gem list --local | grep cocoapods | awk '{print $1}' | xargs sudo gem uninstall 
  2. 再次安装

     sudo gem install -n /usr/local/bin cocoapods 
  3. 更改访问权限

     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