解决CocoaPods installed but it is not working

简介: 解决CocoaPods installed but it is not working

问题场景

使用flutter doctor -v出现以后警告

[!] Xcode - develop for iOS and macOS (Xcode 12.4)
    ✗ CocoaPods installed but not working.
        You appear to have CocoaPods installed but it is not working.
        This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it.
        This can usually be fixed by re-installing CocoaPods. For more info, see https://github.com/flutter/flutter/issues/14293.
      To re-install CocoaPods, run:
        sudo gem install cocoapods  

然后将运行项目在IOS中,出现以下报错

Launching lib/main.dart on iPhone 12 in debug mode...
Warning: CocoaPods is installed but broken. Skipping pod install.
  You appear to have CocoaPods installed but it is not working.
  This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it.
  This can usually be fixed by re-installing CocoaPods. For more info, see https://github.com/flutter/flutter/issues/14293.
To re-install:
  sudo gem install cocoapods

CocoaPods not installed or not in valid state.
Error launching application on iPhone 12.

解决方法

看错误提示的是Ruby的版本和CocoaPods的版本不对应产生的问题。

安装RVM

Ruby Version Manager(Ruby版本管理器)是用于类UNIX操作系统的软件平台,用于管理同一设备上Ruby的多个安装。

$ curl -L https://get.rvm.io | bash -s stable

安装完成后,根据提示使用source命令使rvm生效。

# 根据自己电脑使用的环境变量使用对应的命令,如果不知道就2条命令都使用。
$ source ~/.bash_profile
$ source ~/.bashrc

接着关闭Terminal,然后再重新打开。

安装ruby 2.6版本

使用上面安装的RVM来安装ruby 2.6

$ rvm install ruby-2.6

安装完成后,会显示安装的具体版本。笔者写这篇文章的时候2.6最新的版本是2.6.6。

接着切换ruby版本

$ rvm use ruby-2.6.6

设置当前版本为默认版本,这样一来以后新打开的控制台默认的 Ruby 就是这个版本

$ rvm --default use 2.6.6

最后重新安装CocoaPods

$ sudo gem install cocoapods

这样安装的pod会自动跟当前的Ruby版本对应上。

再次运行flutter doctor就不会有错误了。

相关文章
|
Web App开发 编解码 缓存
一套优秀Java云HIS医院信息管理系统SaaS源码
云HIS系统源码采用B/S(Browser/Server)架构,用户通过浏览器输入服务器地址或域名来访问使用。
2110 1
一套优秀Java云HIS医院信息管理系统SaaS源码
|
安全 开发工具 Android开发
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
5597 0
|
存储 算法 关系型数据库
大模型应用:向量数据库的技术内核解析:破局大模型的失忆困境.28
向量数据库是专为非结构化数据设计的语义检索引擎,通过嵌入模型将文本、图像等转为高维向量,利用ANN算法实现毫秒级相似性搜索。它与大模型协同构建RAG架构,有效解决知识固化、幻觉和上下文受限三大痛点,已成为AI应用的关键基础设施。
390 1
|
API 开发工具
Flutter升级更新2.0后常见报错处理
Flutter升级更新2.0后常见报错处理
702 2
|
iOS开发 MacOS
解决CocoaPods安装卡住反应慢或失败
解决CocoaPods安装卡住反应慢或失败
3951 4
|
存储 人工智能 自然语言处理
flutter3.27接入deepseek-v3跨平台ai流式聊天问答系统
原创基于flutter3.27整合接入deepseek搭建一款高颜值跨平台流式输出ai对话小助手。支持代码高亮、本地会话存储、支持手机端/桌面端显示。 支持markdown代码块高亮、代码块横向滚动、表格边框线、图片100%宽度渲染、图片预览、链接跳转。
1305 15
|
缓存 安全 Android开发
Python实战:搭建短信转发器,实现验证码自动接收与处理
在移动互联网时代,短信验证码是重要的安全手段,但手动输入效率低且易出错。本文介绍如何用Python搭建短信转发器,实现验证码自动接收、识别与转发。通过ADB工具监听短信、正则表达式或ddddocr库提取验证码,并利用Flask框架转发数据。系统支持多设备运行,具备安全性与性能优化功能,适合自动化需求场景。未来可扩展更多功能,提升智能化水平。
2837 1
|
iOS开发 Perl
IOS集成flutter_boost 3.0常见问题
IOS集成flutter_boost 3.0常见问题
581 0
|
消息中间件 关系型数据库 Java
‘分布式事务‘ 圣经:从入门到精通,架构师尼恩最新、最全详解 (50+图文4万字全面总结 )
本文 是 基于尼恩之前写的一篇 分布式事务的文章 升级而来 , 尼恩之前写的 分布式事务的文章, 在全网阅读量 100万次以上 , 被很多培训机构 作为 顶级教程。 此文修改了 老版本的 一个大bug , 大家不要再看老版本啦。
|
开发工具 Android开发 iOS开发
搭建Flutter开发环境、从零基础到精通
搭建Flutter开发环境、从零基础到精通