[RUBY] [Août 2020] Si l'installation de cool.io / puma échoue

Aperçu du problème

À partir d'août 2020, l'installation de «cool.io» utilisé pour «puma» et «fluentd» peut échouer.

current directory: /Users/example/src/nature-server/vendor/bundle/ruby/2.6.0/gems/cool.io-1.6.0/ext/cool.io
make "DESTDIR=" clean
current directory: /Users/example/src/nature-server/vendor/bundle/ruby/2.6.0/gems/cool.io-1.6.0/ext/cool.io
make "DESTDIR="
compiling cool.io_ext.c
In file included from cool.io_ext.c:11:
In file included from ./cool.io.h:11:
/Users/example/.rbenv/versions/2.6.6/include/ruby-2.6.0/ruby/backward/rubyio.h:2:2: warning: use "ruby/io.h" instead of "rubyio.h" [-W#warnings]
#warning use "ruby/io.h" instead of "rubyio.h"
....

Solution

La solution est de définir --with-cflags =" - Wno-error = implicit-function-declaration ". Numéro de référence :) ctype.h absent de puma_http11.c

Pour le paquet:

bundle config --local build.cool.io --with-cflags="-Wno-error=implicit-function-declaration"
bundle config --local build.puma --with-cflags="-Wno-error=implicit-function-declaration"

Si vous souhaitez installer directement gem:

gem install fluentd -- --with-cflags="-Wno-error=implicit-function-declaration"
gem install puma -- --with-cflags="-Wno-error=implicit-function-declaration"

Recommended Posts

[Août 2020] Si l'installation de cool.io / puma échoue
Que faire si l'installation du gem de débogage échoue
La question de savoir quel est le meilleur, si ou changer
Y a-t-il une instance même si le constructeur échoue?
SSL dans l'environnement local de Docker / Rails / puma