cocoapods 报错:Could not find ‘cocoapods-downloader‘ (>= 1.6.0, < 2.0) among 129 total gem(s) (Gem::Mi

在升级MacOS到12.6.5后,执行pod指令出现Gem::MissingSpecError,找不到cocoapods-downloader的正确版本。通过卸载并重新安装CocoaPods,特别是处理了多个版本的情况,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境: 2015年的 MacBook Pro Retina, 13-inch, Early 2015 , MacOS  Monterey 12.6.5 

在 更新升级了 MacOS 系统 从 12.6 升级到 12.6.5 后,

执行 pod 指令的时候,就会报以下的错误:

rich@Rich MacBook-Pro demo % pod search 'AFN'
/Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/specification.rb:1398:in `rescue in block in activate_dependencies': Could not find 'cocoapods-downloader' (>= 1.6.0, < 2.0) among 129 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/rickie/.rvm/gems/ruby-3.0.0:/Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/gems/3.0.0' at: /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/gems/3.0.0/specifications/cocoapods-1.12.1.gemspec, execute `gem env` for more information
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/specification.rb:1395:in `block in activate_dependencies'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/specification.rb:1384:in `each'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/specification.rb:1384:in `activate_dependencies'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/specification.rb:1366:in `activate'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems.rb:302:in `block in activate_bin_path'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems.rb:301:in `synchronize'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems.rb:301:in `activate_bin_path'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/bin/pod:23:in `<main>'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/bin/ruby_executable_hooks:22:in `eval'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/bin/ruby_executable_hooks:22:in `<main>'
/Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/dependency.rb:309:in `to_specs': Could not find 'cocoapods-downloader' (>= 1.6.0, < 2.0) - did find: [cocoapods-downloader-1.5.1] (Gem::MissingSpecVersionError)
Checked in 'GEM_PATH=/Users/rich/.rvm/gems/ruby-3.0.0:/Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/gems/3.0.0' , execute `gem env` for more information
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/specification.rb:1396:in `block in activate_dependencies'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/specification.rb:1384:in `each'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/specification.rb:1384:in `activate_dependencies'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems/specification.rb:1366:in `activate'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems.rb:302:in `block in activate_bin_path'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems.rb:301:in `synchronize'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/lib/ruby/3.0.0/rubygems.rb:301:in `activate_bin_path'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/bin/pod:23:in `<main>'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/bin/ruby_executable_hooks:22:in `eval'
	from /Users/rich/.rvm/rubies/ruby-3.0.0/bin/ruby_executable_hooks:22:in `<main>'

最后在这篇 博客中 找到了解决方案:

地址:  关于ios:安装Pod时出现错误:“找不到’cocoapods’” | 码农家园  

执行了 以下命令: 

首先,使用sudo命令卸载CocoaPods。

请按照以下步骤操作:

  • sudo gem uninstall cocoapods
  • gem install cocoapods
  • pod install

当您再次安装时,请勿使用sudo命令。
您可以从这里找到sudo更少的安装。

首先,使用sudo命令卸载CocoaPods。


请按照以下步骤操作:

sudo gem uninstall cocoapods

gem install cocoapods

pod install


当您再次安装时,请勿使用sudo命令。
您可以从这里找到sudo更少的安装。

我的问题原因, 在我执行 sudo gem uninstall cocoapods 的时候看见了,我安装了两个版本的cocoapods , 于是我两个都卸载了, 然后 再执行了 gem install cocoapods 安装,这样 pod 指令就可以正常执行了。

希望我遇到的问题,能给大家有所帮助。

2023年04月21日15:34:12

<div data-v-4c755c92="" class="cool-video-wrapper"><div id="course-player" class="cool-player mobile aliplayer prism-player" x5-playsinline="" x-webkit-airplay="" playsinline="" webkit-playsinline="" style="width: 100%; height: 100%;"><video webkit-playsinline="" playsinline="" x-webkit-airplay="allow" x5-playsinline="" preload="preload" autoplay="autoplay" src="blob:https://nsxy1862.coolcollege.cn/e64c3025-8896-4ddf-82cc-894472da3d30" poster="https://oss.coolcollege.cn/1815458882630324224.png" x5-video-player-type="h5" style="width: 100%; height: 100%;"></video> <div class="cool-player-video-wrap"> <div class="cool-player-mask"> <!-- 视频加载loading --> <div class="cool-player-marker" style="display: none;"> <div class="loading"> <div class="rotate"></div> </div> </div> <!-- 中间的大播放按钮 --> <div class="cool-player-center" style="display: none;"> <span class="cool-player-big-play-btn"></span> <span class="cool-player-play-duration" style="display: none;"></span> </div> <!-- 视频手势拖动 显示的动态时间 --> <div class="cool-player-toast-progress"></div> <div class="cool-player-controller" style="visibility: hidden;"> <div class="controller"> <div class="controller-draggable-tips">视频未播放完,暂不允许快进</div> <div class="controller-button pause" style="display: inline-block;"></div> <div class="controller-button play" style="display: none;"></div> <!-- 当前时间 --> <div class="cool-player-current-time">01:59</div> <!-- 进度条 --> <div class="cool-player-progress"> <div class="progress-bar"> <div class="bar-buffered" style="width: 100%;"></div> <div class="progress-ball" style="left: 75.1511%;"> <div class="progress-inner"></div> </div> </div> </div> <!-- 总时长 --> <div class="cool-player-duration">02:38</div>帮我把这个视频下载下来
最新发布
05-07
### 如何从HTML5 `<video>` 标签中下载视频文件 在现代浏览器中,`<video>` 标签通常用于嵌入和播放视频内容。如果需要从网页上的 `<video>` 元素下载其对应的视频文件,可以通过以下方法实现: #### 方法一:直接访问 `src` 属性 大多数情况下,`<video>` 标签会有一个 `src` 属性指向实际的视频文件地址。可以使用开发者工具或者 JavaScript 获取这个 URL 并手动下载。 以下是具体操作步骤: 1. 打开浏览器的开发者工具(通常是按 F12 或者右键选择“检查”)。 2. 定位到页面中的 `<video>` 元素。 3. 查找该元素的 `src` 属性值,它可能类似于 `http://example.com/video.mp4`。 4. 将此链接复制并粘贴到新标签页或下载管理器中以保存视频文件。 对于动态加载的内容,可以直接通过 JavaScript 提取源地址: ```javascript const videoElement = document.querySelector('video'); if (videoElement && videoElement.src) { const a = document.createElement('a'); a.href = videoElement.src; a.download = 'video-file-name.mp4'; // 设置自定义文件名 a.click(); } ``` 这种方法适用于静态资源路径的情况[^1]。 --- #### 方法二:处理跨域保护的视频流 某些网站可能会启用 CORS(跨域资源共享)策略或其他安全措施防止直接下载视频文件。在这种场景下,即使能够找到 `src` 地址也可能无法正常请求数据。 此时可尝试捕获网络流量来定位真实的媒体服务器响应: 1. 使用浏览器内置的 **Network** 工具监控 HTTP 请求。 2. 过滤类型为 “Media” 的条目寻找目标视频片段。 3. 如果发现分片传输机制(如 HLS 或 DASH),则需借助专门解析库重新拼接完整的 MP4 文件[^2]。 例如,在 HTML 中引入第三方插件支持复杂协议解码: ```html <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script> <video id="myVideo" controls></video> <script> var video = document.getElementById('myVideo'); var hls = new Hls(); hls.loadSource('path/to/playlist.m3u8'); // 替换为真实 M3U8 清单位置 hls.attachMedia(video); </script> ``` 需要注意的是,部分直播服务提供商还会附加 DRM 加密方案进一步限制非法拷贝行为[^3]。 --- #### 方法三:利用扩展程序辅助抓取 除了编程手段外,市面上也存在许多成熟的浏览器扩展可以帮助快速提取在线多媒体资料。比如: - Video DownloadHelper (Firefox 插件) - Flash Video Downloader Chrome Add-on 这些工具往往集成了多种探测算法从而简化最终用户的操作流程。 --- 尽管技术上可行,但在实施任何自动化脚本前务必确认已获得版权所有者的许可以免触犯法律条款!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值