[花絮] Oh no, an error occurred,坑爹的cocopods1.6.0

在使用 cocoapods packageer 打包動態庫的時候報錯了。上一刻還是好的,突然就不行了。

1. 問題描述

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=wrong+number+of+arguments+%28given+3%2C+expected+7..9%29&type=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don't forget to anonymize any private data!

Looking for related issues on cocoapods/cocoapods...
 - Swift Static Library support
   https://github.com/CocoaPods/CocoaPods/pull/6966 [closed] [55 comments]
   16 Mar 2018

2. 問題分析

首先,看代碼提交記錄,將代碼回滾到了上一次打包成功時候的節點上,還是打包失敗。

然后,看了一下 GitHub similar issues ,也沒有找到合適的答案。

一通折騰后,想到可能是環境問題。

查看了一下 cocoapods 的版本號:

?  gem list --local | grep cocoapods

cocoapods (1.6.0)
cocoapods-core (1.6.0, 1.5.2, 1.4.0.beta.2, 1.4.0.beta.1, 1.3.1)
cocoapods-deintegrate (1.0.2, 1.0.1, 1.0.0)
cocoapods-downloader (1.2.2)
cocoapods-packager (1.5.0)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.3.1, 1.3.0, 1.1.1, 1.0.0)
cocoapods-try (1.1.0)

然后找另外一臺機器進行對比,結果發現,另外一臺機器可以正常打包,可以正常打包機器的環境如下:

?  ~ gem list --local | grep coc
cocoapods (1.5.3, 1.5.2)
cocoapods-core (1.5.3, 1.5.2)
cocoapods-deintegrate (1.0.2)
cocoapods-downloader (1.2.1, 1.2.0)
cocoapods-packager (1.5.0)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.3.0)
cocoapods-try (1.1.0)

問題定位成功,是 cocoapods 環境問題,出現這個問題的原因可能是自己執行了一個 gem 倉庫更新的操作,導致所有的 gem 工具都升級了,cocoapods 也在其中。

3. 解決方案

降低當前設備上的 cocoapods 版本。

由于 cocoapods 是一套工具,工具之間有相互依賴關系,所以單獨降低 cocoapods 是不夠的,需要將一整套工具的版本降低到合適版本。

所以,一不做二不休,將含有 cocoapods 關鍵字的工具全部卸載,然后指定版本重新安裝一次。

卸載腳本如下:

for i in $( gem list --local --no-version | grep cocoapods );
do 
    gem uninstall $i; 
done

腳本執行完成之后,重新安裝 1.5.3 的 cocoapods。

?  gem install cocoapods -v 1.5.3

重裝 cocoapods-packager。

?  gem install cocoapods-packager

安裝完成之后,重新運行打包腳本,成功打包。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。