CocoaPods 在 macOS High Sierra 中不起作用

Posted

技术标签:

【中文标题】CocoaPods 在 macOS High Sierra 中不起作用【英文标题】:CocoaPods not working in macOS High Sierra 【发布时间】:2017-11-07 20:05:04 【问题描述】:

升级到 macOS High Sierra 后,CocoaPods 无法正常工作。虽然离开 CocoaPods 很诱人,但不幸的是,它现在不在范围内。错误信息如下。

zsh: /Users/****/.gems/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin: no such file or directory

我意识到错误源于 Ruby 正在升级,但有什么简单的修复方法?试图让 CocoaPods 使用新的 ruby​​ 版本会产生其他错误。

编辑:现在我用rvm install 2.0.0rvm use 2.0.0 安装了Ruby 2.0,然后重新安装了CocoaPods sudo gem install cocoapods。似乎现在可以工作了。

【问题讨论】:

您是否更新了命令行工具? @matt 是的,sudo xcode-select -s /Applications/Xcode-beta.appsudo xcode-select --install 并从那里跟随 GUI。 我想到了这里的那些:developer.apple.com/download/more 我经常发现外部工具在我安装之前不起作用。 【参考方案1】:

根据https://github.com/CocoaPods/CocoaPods/issues/6778 重新安装CocoaPods 应该可以解决这个问题:

sudo gem install cocoapods

【讨论】:

一个简单的“brew reinstall cocoapods”工作(因为它为你运行这个确切的命令)。感谢您指出这一点。 虽然这可行,但它肯定是 CocoaPods 的问题,因为它无法找到更新的 Ruby 版本。可能重新安装它只是再次检查安装并因此“修复”它。 gem install cocoapods - 没有将 nil 隐式转换为字符串错误,但“brew reinstall cocoapods”完成了这项工作。谢谢@Markus gem install -n /usr/local/bin cocoapods 帮助我 自从我更新到 10.13 操作系统,提供sudo gem install cocoapods 再次 & 它的工作。【参考方案2】:

这对我有用,虽然我必须这样做

sudo gem install cocoapods

【讨论】:

【参考方案3】:

所以我在更新到 High Sierra 后也遇​​到了这个问题,似乎 ruby​​ 框架正在访问的文件位置发生了一些变化。

你可以用,解决它,

sudo gem install cocoapods

然后更新 pod 以确保安全

pod repo update 

最后

pod install

让 pod 文件再次工作。

希望对你有所帮助:)

【讨论】:

【参考方案4】:

当我在做同样的事情时,我得到了另一个错误,说

错误:执行 gem 时 ... (Gem::FilePermissionError) 您没有 /Library/Ruby/Gems/2.3.0 目录的写入权限。

然后我做了这个并且工作正常。

sudo gem uninstall cocoapods

sudo gem install cocoapods

【讨论】:

【参考方案5】:

尝试使用

sudo gem update --system

之前

sudo gem install cocoapods

这对我有用

【讨论】:

【参考方案6】:

我在安装 CocoaPods 时遇到了这个错误

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.

我使用了这个说法。成功了!

sudo gem install cocoapods -n /usr/local/bin

【讨论】:

这是唯一对我有用的解决方案。谢谢【参考方案7】:

升级到 macOS High Sierra 后,使用以下命令修复它:

sudo gem update --system
sudo gem install -n /usr/local/bin cocoapods

一旦完成,然后编写以下命令:

pod install

这个解决方案对我有用...!!!

【讨论】:

我收到“错误:执行 gem 时 ... (Errno::EPERM) 不允许操作 @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ gem”在运行第一个命令时,但运行第二个仍然使“pod install”工作。谢谢。 尽管有“警告”,我还是要在这里说声谢谢。这是唯一对我有用的东西。在我完成这两个步骤之前,只需重新安装 cocoapods(几次)没有任何区别。所以 - 谢谢! 我必须通过以下命令运行 ruby​​ 更新:sudo gem update -n /usr/local/bin --system 为我工作(cocoapods 1.5.3)。 在尝试了数百种其他提议的解决方案并花费数小时后,这个终于奏效了。我现在可以肯定地说我爱你,就像我讨厌 Apple/Mac 开发环境一样!谢谢。【参考方案8】:

这对我有用:

brew link --overwrite cocoapods

【讨论】:

【参考方案9】:

对我来说,我必须:

gem uninstall cocoapods
which pod

它仍然显示在路径中,所以我删除了它。确保它仍然没有出现。

然后

gem install cocoapods

【讨论】:

终于!在安装 cocoapods 之前删除旧的 pod 可执行文件对我有用【参考方案10】:

这解决了我的问题:

$ brew install ruby
$ gem install -n /usr/local/bin cocoapods

【讨论】:

请简要说明发布的代码的作用,以便对这项技术不熟悉的人能够理解并重新使用您的答案:-) cocoapods 新手应该知道如何像其他人一样阅读。 @MathieuVIALES,“brew install ruby​​”假设您已经拥有 Homebrew 打包程序 (brew.sh)。然后安装该命令(或者可能在技术上重新安装 ruby​​,因为您实际上需要 ruby​​ 来安装 Homebrew 本身)。下一行“gem install -n /usr/local/bin cocoapods”重新安装 CocoaPod 程序(更多信息请参见 cocoapods.org)。【参考方案11】:

我在安装High Sierra后也遇到了这个错误。

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.

我使用了 Danh Huynh 确定的以下语句(见上文),它奏效了!

sudo gem install cocoapods -n /usr/local/bin

【讨论】:

这只是this existing answer的重复,不是吗? 这为我修好了【参考方案12】:

转到终端...

步骤 1)。 sudo gem 安装 cocoapods

安装可可豆荚完成后

步骤 2)。 pod repo 更新

完成

【讨论】:

【参考方案13】:

遇到了同样的问题,解决方法:

    重新安装红宝石

    brew install ruby

    重新安装 Cocoa Pods

    sudo gem install cocoapods

【讨论】:

【参考方案14】:

这是升级到 Mac OSX High Sierra 时的常见问题。

修复只是简单地安装 Cocoapods(再次):

sudo gem install cocoapods

【讨论】:

【参考方案15】:

只需运行以下命令:

sudo gem install -n /usr/local/bin cocoapods

【讨论】:

【参考方案16】:

MacOS High Sierra 默认使用 ruby​​ 2.3。升级到它后,一些旧的红宝石宝石可能无法正常工作。当我运行 bundle 命令时,我遇到了这个问题(bundle 是一个 ruby​​ gem;它有一个名为 bundle 的实用程序)。

因此,澄清一下,任何试图访问 ruby​​ 2.0 的旧 ruby​​ gem(cocoapods、bundler 等)都会失败。

解决方案是在您有权写入的目录中重新安装那些旧的 gem。

对于可可足类,

sudo gem install cocoapods -n /usr/local/bin

会成功的。

如果您喜欢 before 安装,您可以选择升级您的 gem 系统:

sudo gem update --system

这可能会提示您升级失败。但实际上,如果你输入:

gem --version

可以看到升级成功了。

对于 bundler 或其他 gem,尝试做同样的事情:

sudo gem install gem-to-install(for example, bundler) -n /usr/local/bin

关于-n 选项。不要错过。如果需要,您可以查看 gem 文档。

所以,解决方案就是将reinstalling the old gem 放到适当的目录中。

【讨论】:

【参考方案17】:

Cocoapods 安装过程:

    sudo gem install cocoapods (如果你对 cocoapds 有任何问题,请更新 gem 文件)

    sudo gem update --system

    sudo gem install cocoapods

【讨论】:

【参考方案18】:

在终端上运行它对我有用:

sudo gem install cocoapods

【讨论】:

【参考方案19】:

在终端上使用以下命令后,我可以在我的项目中安装可可豆荚。

sudo gem install cocoapods --source http://rubygems.org

【讨论】:

【参考方案20】:

我也遇到了这个问题,但以不那么引人注目的方式修复了它,因为各种重新安装/更新。刚刚更新了 PATH 环境变量以指出我现有的 (2.6.0) ruby​​ 版本。

【讨论】:

【参考方案21】:

升级到 Catalina 后我遇到了同样的问题。

    我通过首先使用这些说明安装 brew 和 ruby​​ 来更新 ruby​​ 安装。 https://gorails.com/setup/osx/10.15-catalina(但只有 ruby​​,不是 rails 等)

    然后我按照上面的说明重新安装了 cocoapods。

    sudo gem 安装 cocoapods

毕竟我仍然收到上述错误。 然后我输入“zsh”来生成一个新的 shell 并在 ~/.zshrc 文件中拉入配置设置。 在这个“pod update”命令再次起作用之后。

【讨论】:

【参考方案22】:

Sudo-less .zhs-friendly 解决方案

现代 macOS 不鼓励使用 sudo 并从 bash 转向 zsh,因此如果您不打算与时尚抗争,这个答案可能会很有用。

    通过touch ~/.zshenv 命令确保.zshenv 存在。通过添加以下行来配置 RubyGems 环境:

    export GEM_HOME=$HOME/.gem
    export PATH=$GEM_HOME/bin:$PATH
    

    不要忘记重新启动终端。

    运行gem install cocoapods

【讨论】:

【参考方案23】:
If cannot install new version cocoapods, example below:
1. Please remove Command line tools
sudo rm -rf /Library/Developer/CommandLineTools
2. Install new Command line tools version
sudo xcode-select --install
3. after installing run below command
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

【讨论】:

【参考方案24】:
    curl -sSL https://get.rvm.io | bash -s stable
    sudo update gems
    rvm install 2.6.0
    sudo gem install cocoapods

【讨论】:

请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助、质量更好,并且更有可能吸引投票【参考方案25】:

我使用自制软件在 High Sierra (macOS 10.13.6) 上安装 cocoapods,它适用于我

brew 安装 cocoapods

在这个颤振的医生没有显示错误之后。

我能够将我的 Flutter 应用部署到 ios XS Max

【讨论】:

这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review

以上是关于CocoaPods 在 macOS High Sierra 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

无法在终端 macOS 10.15.7 上安装 cocoapods

text 在macos上安装cocoapods

markdown 在macOS High Sierra上安装多个Java版本

markdown 在macOS High Sierra上安装多个Java版本

无法在 macOS Monterey 版本 12.0 Beta 中安装 Cocoapods - Xcode 13.0(13A233)

macOS 10.12.1 + Xcode 8.1 安装cocoapods 1.1.1