更新到 cocoapods 0.32.1 后无法运行 sudo pod install,并出现错误“您无法以 root 身份运行 CocoaPods。(CLAide::Help)”

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

更新到最新版本 0.32.1 后运行 sudo pod install 命令时发现问题。早些时候它工作得很好。

当我尝试使用较旧的 cocoapods 进行 pod 安装时,它要求我更新到最新的 cocoapods 版本,即 0.32.1。通过 cocoapods gem 更新后,我无法在 Xcode 项目中执行 sudo pod install 。它给了我以下错误。

± sudo pod install                                                                                                            ruby-1.9.3-p0
Password:
/Users/username/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/gems/1.9.1/gems/claide-0.5.0/lib/claide/command.rb:328:in `help!': [!] You cannot run CocoaPods as root. (CLAide::Help)

CocoaPods, the Objective-C library package manager.

Commands:....

任何解决该问题的建议都会非常有帮助。预先感谢。

ruby rubygems cocoapods
6个回答
24
投票

我必须更新 CocoaPods 上的权限

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

sudo chown -R $USER ~/.cocoapods

由于它似乎解决了某些人的问题,因此您可能想尝试运行“pod install”并查看它是否从那时起解决了您的问题。但是,当我为 pod 项目运行“pod install”时,权限仍然被拒绝,因此运行下一行将覆盖 pod 文件夹的权限。

sudo chown -R $USER ./Pods

在运行 pod install 之前我已经删除了旧的 podfile.lock

来源:

cocoaPods pod 安装权限被拒绝

https://github.com/CocoaPods/CocoaPods/issues/509


10
投票

我正在使用 Windows。 在阅读了所有不起作用的提示后,我进入了代码库。 作为免责声明,我正处于开发应用程序的开始阶段,我的目标是快速获得概念证明。 因此,此解决方案只能作为快速破解来绕过该错误消息。

在文件 ~/lib/cocoapods/command.rb 中,您会在第 47 行找到一个函数,如果存在 root 用户,该函数会停止程序。

#help! 'You cannot run CocoaPods as root.' if Process.uid == 0

只需注释掉该行即可。 再说一次,除了作为使用 Windows 并试图证明概念的实用主义者之外,在任何情况下这都是一个糟糕的想法。


8
投票

在 m1 MAC 中运行

sudo arch -x86_64 pod install --allow-root
来解决此问题。


2
投票

除了以下内容之外,没有任何对我有用的

  1. 切换到ios平台
    cd platforms/ios
  2. 使用
    sudo chown -R YourUsername .
  3. 将文件夹的所有权切换给当前用户
  4. Pod 安装

0
投票

在我的例子中,“文件夹内容项目”和文件“project.xcodeproj”都被锁定“我忽略为什么!!!也许是git克隆引发了错误:s”,我解锁文件夹并应用子文件夹的所有更改。 ...而且效果很好:D


0
投票

我收到此错误以及此选项:

--allow-root   Allows CocoaPods to run as root
--silent       Show nothing
--version      Show the version of the tool
--verbose      Show more debugging information
--no-ansi      Show output without ANSI codes
--help         Show help banner of specified command
from /opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/command.rb:102:in `ensure_not_root_or_allowed!'
from /opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/lib/cocoapods/command.rb:48:in `run'
from /opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.16.2/bin/pod:55:in `<top (required)>'
from /opt/homebrew/Cellar/cocoapods/1.16.2/libexec/bin/pod:25:in `load'
from /opt/homebrew/Cellar/cocoapods/1.16.2/libexec/bin/pod:25:in `<main>'

所以有必要运行:

npx pod-install --allow-root

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