Se você for instalar gem nativa com pacote ou criar um novo aplicativo e receber mensagens de erro como:
Instalando json (1.7.3) com extensões nativas
Gem :: Installer :: ExtensionBuildError: ERROR: Falha ao construir a extensão nativa gem.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom require.rb: 36: in`require ‘: não é possível carregar esse arquivo – mkmf (LoadError)
de / usr / lib / ruby / 1.9.1 / rubygems / custom require.rb: 36: in require' from extconf.rb:1:in
<main> ‘
Os arquivos Gem permanecerão instalados em / home / danny / .bundler / tmp / 2040 / gems / json-1.7.3 para inspeção.
Resultados registrados em /home/danny/.bundler/tmp/2040/gems/json-1.7.3/ext/json/ext/parser/gem_make.out
Ocorreu um erro ao instalar json (1.7.3), eBundler não pode continuar.
Certifique-se de que funciona gem install json -v '1.7.3'
antes de empacotar.
Este erro ocorre porque o DevKit não funciona e o AutoRun interfere. (Certifique-se de que já instalou o DevKit. Caso contrário, apenas instale-o e seu problema será resolvido imediatamente.)
A equipe RubyInstaller já tem uma solução perfeita em seu wiki:
Chame os seguintes comandos no mesmo prompt de comando:
REG QUERY “HKCU Software Microsoft Command Processor”
REG QUERY “HKLM Software Microsoft Command Processor”
Execute cada linha individualmente. Depois de executá-lo, você verá algo assim:
HKEY CURRENT USER Software Microsoft Command Processor
CompletionChar REG DWORD 0x9
DefaultColor REG DWORD 0x0
EnableExtensions REG DWORD 0x1
PathCompletionChar REG DWORD 0x9
As colunas de informações são Chave, Tipo e Valor. Se você vir uma chave chamada AutoRun, é possível que seja o culpado pelo erro que você está recebendo.
AutoRun interfere com o Ruby bagunçando a execução do processo filho e, por consequência, afetando a instalação do gem. Remova-o com o seguinte comando:
REG DELETE “HKCU Software Microsoft Command Processor” / v AutoRun
Quando terminar, tente abrir um novo prompt de comando e executar a instalação do gem novamente.
Espero que este post possa resolver seu problema. Tenha um bom dia!