cocoaPods pod安装权限被拒绝

god*_*lla 51 rubygems cocoapods

这是简短的版本:

我跑的时候

pod install 
Run Code Online (Sandbox Code Playgroud)

在我得到的Xcode项目中

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

如果我跑

sudo pod install
Run Code Online (Sandbox Code Playgroud)

我没有得到任何错误,但是我安装的文件是root所有并且无法编译,我必须将chown这些文件发送给普通用户才能使用Xcode编译器.

我正在运行Lion OSX.

我使用安装了cocoaPods

sudo gem install cocoaPods
Run Code Online (Sandbox Code Playgroud)

我不得不使用sudo因为没有它我得到了

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

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

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

是以sudo正确的方式安装cocoaPods吗?

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

jia*_*npx 96

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

sudo chown -R $USER ~/Library/Caches/CocoaPods
Run Code Online (Sandbox Code Playgroud)

sudo chown -R $USER ~/.cocoapods
Run Code Online (Sandbox Code Playgroud)

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

  • 您应该能够将`username.groupname`替换为`$ USER`,它应该适用于所有人的直接复制粘贴.无论如何,工作了一个魅力谢谢. (10认同)
  • 根据您的群体,您可以将其排除在外.sudo chown -R myusername~/... (5认同)
  • 作为旁注,事件发生是因为我运行'sudo pod setup'而不是'pod setup'. (3认同)

And*_*ano 20

我只用过(username你的Mac登录用户名在哪里)

sudo chown -R username ~/Library/Caches/CocoaPods
Run Code Online (Sandbox Code Playgroud)

sudo chown -R username ~/.cocoapods
Run Code Online (Sandbox Code Playgroud)

当我尝试使用groupname参数时

chown: username.groupname: illegal user name
Run Code Online (Sandbox Code Playgroud)

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

  • 我已经通过删除〜/ Library/Caches/CocoaPods中的内容解决了这个问题,然后转到项目目录和pod安装 (2认同)

Mar*_*ens 11

删除目录对我有用:

sudo rm -R  ~/Library/Caches/CocoaPods
sudo rm -R  ~/.cocoapods/repos
Run Code Online (Sandbox Code Playgroud)

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

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

Cocoapods只是再次添加目录.

  • `~/Library/Caches/CocoaPods/GitHub` 不存在。 (2认同)

Ser*_*myk 6

只需添加权限标志即可--user-install
用于更新使用:
sudo gem update --user-install
以及用于安装使用:
sudo gem install --user-install cocoapods

  • 在 macos ventura 13.0.1 中添加权限标志 --user-install 后它对我有用 (2认同)

Kei*_*ley 5

该问题与 Mac OS X 的 Ruby 默认安装有关。Ruby/Gems 安装由您指定位置的 root 拥有。

除非您安装 Ruby 管理器,否则这是正常行为。我推荐rbenv,但RVM也很流行。

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