首页 文章

cocoaPods pod安装权限被拒绝

提问于
浏览
49

这是简短的版本:

我跑的时候

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库 .

sudo 安装cocoaPods的方法还是正常的?

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

9 回答

  • 4

    删除目录对我有用:

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

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

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

    Cocoapods只是再次添加目录 .

  • 11

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

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

    sudo chown -R username ~/.cocoapods
    

    当我尝试使用groupname参数时

    chown: username.groupname: illegal user name
    

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

  • 94

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

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

    sudo chown -R username:groupname ~/.cocoapods
    

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

  • 4

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

    • 从终端访问您的项目文件夹:
    $ cd /Users/username/Downloads/MessagesTableViewController-master
    
    • 创建podfile:
    $ touch podfile
    $ open -e podfile
    
    • 创建podfile后,通过Finder访问它并在除TextEdit之外的任何其他文本编辑器中编辑它,因为TextEdit有时会在pod文件中弄乱撇号 . 我用过textWrangler . 在pod文件中写下以下内容; (注意这些依赖项适用于支持iOS 6.0及更高版本的项目)
    platform :ios, '6.0'
    pod 'AFNetworking'
    
    • 保存文件并关闭它 .

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

    $ pod --version
    

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

    $ sudo gem update
    
    • 更新完成后,或者说它已经是最新的,您应该安装cocoapods:
    $ sudo gem install cocoapods
    
    • 最后,只需运行以下命令:
    $ sudo pod setup
    $ sudo pod install
    

    而且中提琴!它完成了 . 您将在项目文件夹中看到一个名为Pods的文件夹,并且您在Pod文件中声明的依赖关系将在Pods文件夹中显示为子文件夹 .

    快乐编码:)

  • 0

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

    除非您安装Ruby管理器,否则这是正常行为 . 我会推荐rbenv,但RVM也很受欢迎 .

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

  • 0

    快速,简单,hacky解决方案:

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

    这是一个已知的问题 . CocoaPods official web-site还有更多内容 .

  • 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 没问题 .

  • 19

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

相关问题