cocoaPods pod安装权限被拒绝

时间:2013-04-17 00:13:08

标签: rubygems cocoapods

这是简短版本:

当我跑步时

pod install 

在Xcode项目中我得到了

  

[!] Pod :: Executable pull error:无法打开.git / FETCH_HEAD:   许可被拒绝

如果我跑

sudo pod install

我没有收到任何错误,但我安装的文件归root用户所有,无法编译,我必须chown这些文件给普通用户使用Xcode编译器。

我正在运行Lion OSX。

我使用

安装了cocoaPods
sudo gem install cocoaPods

我不得不使用sudo,因为没有它我

  

错误:执行gem时...(Gem :: FilePermissionError)

     

您没有/Library/Ruby/Gems/1.8目录的写入权限。

所以现在我有一个root安装版本的cocoaPods,可以下载root拥有的Xcode库。

以{错误的方式或正常方式安装cocoaPods sudo

如果正常,有没有办法解决pod安装问题?

10 个答案:

答案 0 :(得分:94)

我通过运行以下命令解决了这个问题:

sudo chown -R username:groupname ~/Library/Caches/CocoaPods

sudo chown -R username:groupname ~/.cocoapods

请用您的Mac登录用户名/组名替换usernamegroupname

答案 1 :(得分:19)

我只使用过(username是您的Mac登录用户名)

sudo chown -R username ~/Library/Caches/CocoaPods

sudo chown -R username ~/.cocoapods

当我尝试使用groupname参数时

chown: username.groupname: illegal user name

当然我使用自己的用户名和组名:)

答案 2 :(得分:11)

删除适用于我的目录:

sudo rm -R  ~/Library/Caches/CocoaPods
sudo rm -R  ~/.cocoapods/repos

如果还存在其他一些问题。

删除Pods目录和podFile.lock文件。

Cocoapods再次添加目录。

答案 3 :(得分:4)

问题在于Mac OS X的默认安装Ruby。 Ruby / Gems安装由root指定在您指定的位置。

除非安装Ruby管理器,否则这是正常的行为。我建议使用rbenv,但RVM也很受欢迎。

这些已将您的Ruby安装安装在$HOME文件夹中。这样您的用户就拥有了Ruby和gem可执行文件。

答案 4 :(得分:4)

在我的一些项目中安装CocoaPods时遇到的所有错误,我终于成功找到了一个模式。这是:

  1. 从终端访问您的项目文件夹:

    $ cd /Users/username/Downloads/MessagesTableViewController-master
    
  2. 创建一个podfile:

    $ touch podfile
    $ open -e podfile
    
  3. 创建podfile后,通过Finder访问它并在除TextEdit之外的任何其他文本编辑器中进行编辑,因为TextEdit有时会在pod文件中混淆。我用过textWrangler。在pod文件中写下以下内容; (请注意,这些依赖项适用于支持iOS 6.0及更高版本的项目)

    platform :ios, '6.0'
    pod 'AFNetworking'
    
  4. 保存文件并关闭它。

  5. 返回终端并查看您的pod版本:

    $ pod --version
    

    根据您的pod版本,如果需要更新,请运行以下命令:

    $ sudo gem update
    
  6. 更新完成后,或者说它已经是最新的,你应该安装cocoapods:

    $ sudo gem install cocoapods
    
  7. 最后,只需运行以下命令:

    $ sudo pod setup
    $ sudo pod install
    
  8. 和Viola!它完成了。您将在项目文件夹中看到一个名为Pods的文件夹,并且您在Pod文件中声明的依赖关系将在Pods文件夹中显示为子文件夹。

    快乐编码:)

答案 5 :(得分:0)

快速,简单,黑客的解决方案:

sudo chmod -R 777 ~/.cocoapods
sudo chmod -R 777 ~/Library/Caches/CocoaPods

答案 6 :(得分:0)

回答原来的问题:

Is sudo installation of cocoaPods the wrong way or normal way? 

当我做pod install时,我得到:

Analyzing dependencies
CocoaPods 0.36.0.beta.1 is available.
To update use: `sudo gem install cocoapods --pre` 

所以我认为sudo没问题。

答案 7 :(得分:0)

这是一个已知问题。 ReaderWriterLockSlim and async\await上有更多内容。

答案 8 :(得分:0)

我通过安装最新版本的Ruby解决了这个问题。说明:https://gorails.com/setup/osx/10.12-sierra 然后我才能成功运行 sudo gem更新 sudo gem install cocoapods

答案 9 :(得分:0)

只需要添加权限标志--user-install
要进行更新,请使用:
sudo gem update --user-install
对于安装使用:
sudo gem install --user-install cocoapods