Travis CLI installation issue for MacOS
Tags: travis, travisci, devops, github
Published: 2021-04-23 07:14:53

I came across one problem while integrating travis CI with  [GitHub repository]( https://github.com/aviboy2006/angular-upload-s3cf). For this I want to set environment level  [AWS environment profile](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html)  to avoid pushing secrete key and access key into code as best practices for security. Then I landed into a problem while doing installation on MacOS. 

I am trying to install `gem install travis` to use `travis-cli` as per reference https://rubygems.org/gems/travis but getting below error.

Tried solution mentioned here https://github.com/ffi/ffi/issues/653 but no luck then I posted this question over StackOverflow :

**This are steps I have tried** : 
```
brew reinstall libffi
export LDFLAGS="-L/usr/local/opt/libffi/lib"
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
gem install travis
``` 
While doing above steps got below error 👇🏻 

```
package configuration for libffi is not found "xcrun clang -o conftest 
-I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/
Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/
universal-darwin16 -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/
Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/ruby/backward -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/
Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT 
-g -Os -pipe -DHAVE_GCC_ATOMIC_BUILTINS -iwithsysroot /usr/local/libressl/include conftest.c -L. -L/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib -L. -L /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/
Developer/SDKs/MacOSX10.12.Internal.sdk/usr/local/libressl/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/
Developer/SDKs/MacOSX10.12.Internal.sdk/usr/local/lib -arch x86_64 -arch i386 -lruby.2.3.0 -lpthread -ldl -lobjc " In file included from conftest.c:1: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/
Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/ruby.h:33: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/
Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found #include "ruby/config.h" ^~~~~~~~~~~~~~~ 1
error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int
main(int argc, char *argv) 4: { 5: return 0; 6: } / end */
```
Here I got an answer to solve this and thanks to the StackOverflow answer. 

First install `cocoapods` gem. 

**What CocoaPods does exactly** ?  
In short CocoaPods manages library dependencies for your Xcode projects.

```
sudo gem install -n /usr/local/bin cocoapods -v 1.8.4
```

> Latest CocoaPods 1.10.0 won't work.

**Update!**

if you want to instal CocoaPods 1.10.0 + you can use HomeBrew and then enter the below in command line

```
brew install cocoapods
```

Thanks for reading this. Hope this blog will help you to solve your `travis-cli` installation issue. 

**References** :

- https://stackoverflow.com/questions/63650689/package-configuration-for-libffi-is-not-found-in-macos-while-installing-travis-c
-  [What is cocoapods?](https://guides.cocoapods.org/using/getting-started.html) 
-  [travis-ci](https://travis-ci.org/)