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.0
和rvm use 2.0.0
安装了Ruby 2.0
,然后重新安装了CocoaPods sudo gem install cocoapods
。似乎现在可以工作了。
【问题讨论】:
您是否更新了命令行工具? @matt 是的,sudo xcode-select -s /Applications/Xcode-beta.app
和 sudo 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
markdown 在macOS High Sierra上安装多个Java版本
markdown 在macOS High Sierra上安装多个Java版本
无法在 macOS Monterey 版本 12.0 Beta 中安装 Cocoapods - Xcode 13.0(13A233)