Ruby · Avançado · Português · Técnico
extensão nativa
Parte de uma gem escrita em C (ou Rust), compilada na instalação, que usa a API C do CRuby para ganhar desempenho ou acessar bibliotecas do sistema. Declara-se com extconf.rb.
Onde usar
Aparece quando uma gem demora a instalar ou falha com erro de compilação no bundle install, como nokogiri, pg e puma. Exige compilador e cabeçalhos instalados.
Em código
# ext/ola/extconf.rb
require "mkmf"
create_makefile("ola/ola")
# no gemspec:
# spec.extensions = ["ext/ola/extconf.rb"]Exemplos
A instalação falhou porque a extensão nativa não compilou.
Prefira Ruby puro se a extensão nativa não trouxer ganho real.
Cuidado
Não funciona em JRuby e pode quebrar a cada versão do Ruby se usar API interna; prefira Ruby puro quando o ganho não compensar.
Sinônimos
C extension
Antônimos
Ruby puro