Skip to content

Instantly share code, notes, and snippets.

@fsuste
Last active Oct 23, 2020
Embed
What would you like to do?
List of problematic gems and fixes

Eventmachine 1.0.8.

You can also update eventmachine to 1.0.9. and that should fix the problem

gem install eventmachine -v '1.0.8' -- --with-cppflags=-I/usr/local/opt/openssl/include

Nokogiri 1.6.*

brew unlink xz
gem install nokogiri
brew link xz # This usually comes with the silver searcher, so don't forget to link it back

If after that you still have problems, you will need to reinstall command line tools (typically a problem with libxml2 not being recognized). That is done by this simple commmand

xcode-select --install

After finishing the installation wizard, nokogiri should install successfully.

Tinytds

On OSX

brew install freetds

Or on Debian

sudo apt-get freetds-bin

Json

Json gem below 1.8.2 is not compatible with ruby > 2.2.1, please just update the gem

If your Json gem is already 1.8.3 and it still won't bundle correctly, do:

brew install coreutils

libv8

If you have v8 installed, just do

gem install libv8 -v '3.16.14.3' -- --with-system-v8

If that doesn't work, please do the following:

gem uninstall libv8 # (all versions)
brew install v8
gem install therubyracer
bundle install

rmagick

Version 2.13.2 requires to have Magick-config which is not present in imagemagick@7 which you get with standard brew install imagemagick

You will have to install imagemagick 6, and link it as the primary imagemagick...

brew unlink imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force

If you get an error message that the compiler can't find pkg-config, do this:

brew uninstall pkg-config
brew install pkg-config
brew unlink pkg-config && brew link pkg-config

If it still doesn't work, consult me...

Thin

If you get an error message like the following:

thin.c:359:10: error: implicit declaration of function 'thin_http_parser_has_error' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
  return thin_http_parser_has_error(http) ? Qtrue : Qfalse;

Disabling the implicit declaration to be presented as an error should work fine:

bundle config build.thin --with-cflags="-Wno-error=implicit-function-declaration"
bundle
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment