A instalação falha mostrando:
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for libiconv_open() in -liconv... no
checking for libiconv_open() in -liconv... no
libiconv is missing.
No entanto, olhando mkmf.log do nokogiri, os seguintes erros são mostrados:
ld: warning: ignoring file /usr/local/Cellar/libxslt/1.1.28/lib/libxslt.dylib, **file was built for x86_64 which is not the architecture being linked (i386)**: /usr/local/Cellar/libxslt/1.1.28/lib/libxslt.dylib
ld: warning: ignoring file /usr/local/Cellar/libxml2/2.9.1/lib/libxml2.dylib, **file was built for x86_64 which is not the architecture being linked (i386)**: /usr/local/Cellar/libxml2/2.9.1/lib/libxml2.dylib
ld: warning: ignoring file /usr/local/Cellar/libiconv/1.14/lib/libiconv.dylib, **file was built for x86_64 which is not the architecture being linked (i386)**: /usr/local/Cellar/libiconv/1.14/lib/libiconv.dylib
Eu tenho o xcode e as ferramentas de comando instaladas. Meu ~ / .bash_profile tem compilação de 64 bits forçada por: export ARCHFLAGS = "- arch x86_64"
Eu tenho libxml2, libxslt e libiconv instalados via Homebrew, e cada um está vinculado. Eu tentei instalar todos estes sem o ARCHFLAG em .bash_profile.
Eu também preparei o apple-gcc42 e o vinculei, de acordo com o que encontrei.
Eu tentei instalar o nokogiri passando caminhos para libxml2, libxslt e libiconv em / usr / local / Cellar /, mas a instalação ainda falha, com os mesmos erros acima.
Eu perdi pelo menos um dia nisso - apenas tentando obter uma gema Ruby instalada. Eu realmente gostaria de voltar ao desenvolvimento.
Alguém pode ajudar por favor?
Respostas:
Você não pode presumir que a versão do Ruby embutida no OS X é compatível com as gemas que você deseja usar. Não tente remover a versão do ruby fornecida com o OS X nem atualizá-lo ou atualizá-lo, a menos que seja com a Atualização de Loja / Atualização de Software / atualização de software. A maioria dos rubiers lhe dirá que você nem se incomodou em usar o ruby que vem com o OS X. Mas você pode instalar múltiplas versões do Ruby, e você definitivamente precisará de um gerenciador de versões Ruby se você pretende usar muitas gemas.
Ruby já foi bastante fácil de usar, mas agora, o número de versões que necessariamente precisam ser suportadas é legion, e desenvolvedores de gemas algumas vezes forçam você a instalar uma nova versão do Ruby em alguma outra versão quando você já tem uma instalação Ruby perfeitamente boa. ! Grr. Ruby está realmente começando a se irritar, porque enquanto a informação de apoio pode estar lá fora, ela está parecendo mais e mais como um carretel de pesca que tem birdnested. IMO, rubi está quebrado, alguém vai ter que puxá-lo para fora e colocá-lo perfeitamente para que ele seja consertado, e eu não estou à altura disso. Eu não sou o cara. Eu não.
Apesar do entusiasmo dos brewinistas, o gerenciador de pacotes homebrew tem uma preocupação crescente com uma solução imatura de gerenciamento de pacotes. Eu uso o MacPorts para gerenciar ... todas as minhas instalações, mas também as várias versões das instalações do ruby que são necessárias para usar as gemas que eu quero. MacPorts requer uma versão apropriada do xcode; xcode_5.1.1.dmg é a versão mais recente do Mavericks. O rvm usa MacPorts por padrão, se estiver instalado.
Parece de seus registros fornecidos que você está faltando coisas. Isso é o que é bom sobre MacPorts (e qualquer gerenciador de pacotes maduro); Ele cuida das dependências para você se elas não estiverem instaladas.
Instalar MacPorts
adicione MacPorts ao seu $ PATH:
dê uma olhada no que MacPorts tem para o ruby
e / ou apenas instalar nokogiri
se houver algum problema tente
O MacPorts não afetará a versão do OS X de nada, nem o homebrew (exceto para torná-lo supérfluo) e mantém tudo que ele instala em / opt tornando a desinstalação fácil (mas isso não tem nada a ver com onde o ruby mantém suas gemas, ~ / .gem ). Mas você deve realmente conhecer e amar MacPorts, é seu amigo.
desinstalar completamente o MacPorts
fonte
nvram boot-args="arch=x86_64"
Você redefine para o modo de 32 bits da seguinte maneira:sudo nvram boot-args=""