問題描述:
ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension
Function.c:847:17: error: implicit declaration of function 'ffi_prep_closure_loc' is invalid in C99 [-Werror,-Wimplicit-function-declaration] ffiStatus = ffi_prep_closure_loc(closure->pcl, &fnInfo->ffi_cif, callback_invoke, closure, code); ^Function.c:847:17: note: did you mean 'ffi_prep_closure'?
。。。
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/ffi/ffi.h:269:1: note: 'ffi_prep_closure' declared hereffi_prep_closure(^1 error generated.make: *** [Function.o] Error 1make failed, exit code 2
搗鼓了一天時(shí)間,ruby rvm brew 都重裝升級(jí)了個(gè)遍 還是不行;仔細(xì)查看報(bào)錯(cuò)原因,是因?yàn)?ffi_prep_closure_loc 這個(gè)隱式聲明的方法在CommandLineTools/SDKs/MacOSX10.14.sdk中沒有找到導(dǎo)致的。于是,查看了/Library/Developer/CommandLineTools/SDKs/目錄下得文件:
bogon:SDKs xxx$ ls -a
. .. MacOSX.sdk MacOSX10.14.sdk MacOSX10.15.sdk MacOSX11.1.sdk
目錄下一共有三個(gè)版本的sdk文件:MacOSX10.14.sdk MacOSX10.15.sdk MacOSX11.1.sdk
不清楚為什么ruby會(huì)引用MacOSX10.14.sdk中的文件,本人電腦系統(tǒng)是10.15的,于是,刪除了MacOSX10.14.sdk這個(gè)文件,重新安裝cocoapods
sudo gem install -n /usr/local/bin cocoapods
Installing ri documentation for cocoapods-1.10.1
Done installing documentation for ffi, ethon, typhoeus, public_suffix, fuzzy_match, concurrent-ruby, httpclient, algoliasearch, addressable, thread_safe, tzinfo, i18n, activesupport, cocoapods-core, cocoapods after 21 seconds
15 gems installed
bogon:~ jieyang$ pod --version
1.10.1
終于安裝成功了?。。?/p>