cocoaPods pod 安装权限被拒绝

问题描述 投票:0回答:11

这是简短版本:

当我跑步时

pod install 

在 Xcode 项目中我得到

[!] Pod::可执行拉取错误:无法打开 .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安装问题吗?

rubygems cocoapods
11个回答
114
投票

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

sudo chown -R $USER ~/Library/Caches/CocoaPods

sudo chown -R $USER ~/.cocoapods

请将

username
groupname
替换为您的 Mac 登录用户名/组名。


22
投票

我只使用过(其中

username
是你的Mac登录用户名)

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

sudo chown -R username ~/.cocoapods

当我尝试使用组名参数时,我得到了

chown: username.groupname: illegal user name

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


11
投票

删除目录对我有用:

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

如果仍然存在其他问题。

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

Cocoapods 只是再次添加目录。


6
投票

只需添加权限标志即可

--user-install

更新使用:
sudo gem update --user-install

安装使用:
sudo gem install --user-install cocoapods


5
投票

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

这是正常行为除非您安装了 Ruby 管理器。我会推荐 rbenvRVM 也很受欢迎。

这些将您的 Ruby 安装安装在您的

$HOME
文件夹中。这样您的用户就拥有 Ruby 和 gem 可执行文件。


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
    

还有维奥拉!完成了。您将在项目文件夹中看到一个名为 Pods 的文件夹,并且您在 pod 文件中指定的依赖项将在 Pods 文件夹中作为子文件夹显示。

快乐编码:)


0
投票

快速、简单、巧妙的解决方案:

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

0
投票

这是一个已知问题。 CocoaPods 官方网站有更多内容。


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
没问题。


0
投票

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


0
投票

删除项目并再次克隆解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.