編譯的時候壹直在說方法找不到。
Error: Method not found:
是cloud_firebase_web跳轉找firebase_core的某個方法的時候說找不到。
按照網上說的在firebase包定義前面添加關鍵字dependency_overrides:也不行。
開始的時候嘗試著自己修改方法名讓它能夠找到,壹直搞不定。總感覺這個是系統自帶的類庫,不應該發生這麽低級的錯誤了。
最後仔細看了壹下他們的版本不對應,有可能是版本問題,cloud_firebase_web是1.0.7,使用工具跳轉到firebase_core的時候是1.17.0
然後就嘗試著手動修改firebase_core關聯的包,不要讓它自動匹配版本,而是強制使用某壹個固定版本。
比如之前是這麽寫的:firebase_core: ^1.0.1,^含義是找到大於1.0.1小於2.0.0的最高版本
修改成:firebase_core: 1.4.0
具體有哪些版本可以去這個網站上找:https://pub.dev
然後就可以了。
事後分析原因是:firebase_core雖然沒有修改大版本號,當前依然是1.17.0。但是裏面做了不兼容的改動,刪除了某些方法,導致了找不到。而cloud_firebase_web當前的最高版本已經是3點幾了,因此對應firebase_core版本的cloud_firebase_web在2或者3才兼容。
所以包管理真的是壹件比較麻煩的事情。