Não consigo instalar o therubyracer gem no Yosemite 10.10.
Aqui está o registro:
11:53 $ gem install libv8 -v '3.16.14.3' - --with-system-v8 Construindo extensões nativas com: '--with-system-v8' Isto pode tomar algum tempo... Instalado com sucesso libv8-3.16.14.3 Documentação de análise para libv8-3.16.14.3 Instalando a documentação do ri para libv8-3.16.14.3 Concluída a instalação da documentação para libv8 após 0 segundos 1 gema instalada 02:05 $ gem install therubyracer -v '0.12.1' - --with-system-v8 Construindo extensões nativas com: '--with-system-v8' Isto pode tomar algum tempo... ERRO: Erro ao instalar o therubyracer: ERRO: falha ao construir a extensão nativa do gem. /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8 verificando main () em -lpthread ... sim verificando main () em -lobjc ... sim verificando v8.h ... não *** extconf.rb falhou *** Não foi possível criar o Makefile por algum motivo, provavelmente falta do necessário bibliotecas e / ou cabeçalhos. Verifique o arquivo mkmf.log para obter mais detalhes. Você pode precisa de opções de configuração. Opções de configuração fornecidas: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir} / include --with-opt-lib --without-opt-lib = $ {opt-dir} / lib --with-make-prog --without-make-prog --srcdir =. --curdir --ruby = / usr / local / var / rbenv / versions / 2.1.2 / bin / ruby --with-pthreadlib --without-pthreadlib --with-objclib --without-objclib --enable-debug --disable-debug --with-v8-dir --without-v8-dir --with-v8-include --without-v8-include = $ {v8-dir} / include --with-v8-lib --without-v8-lib = $ {v8-dir} / lib /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/ext/libv8/location.rb:50:in `configure ': Você tem optou por usar a versão V8 encontrada em seu sistema (Libv8 :: Location :: System :: NotFoundError) e * não * aquele que é empacotado com o rubygem libv8. Contudo, não pôde ser localizado. por favor, certifique-se de ter uma versão de v8 que é compatível com 3.16.14.3 instalado. Você pode precisa de opções especiais --with-v8-dir se estiver em um não padrão localização obrigado, The Mgmt de /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rb:7:in `configure_makefile ' de extconf.rb: 32: em `' extconf falhou, saia do código 1 Os arquivos Gem permanecerão instalados em /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1 para inspeção. Resultados registrados em /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-14/2.1.0-static/therubyracer-0.12.1/gem_make. Fora
Respostas:
em seguida, basta agrupar as joias do seu projeto
esta é a única maneira que funcionou para mim em 10.10 (ruby 2.1.2)
fonte
gem 'libv8', '3.16.14.3'
(ou qualquer que seja a versão exata do libv8 que você acabou de instalar manualmente) e executar a atualização do pacote libv8. Isso deve então instalar o therubyracer.esta é a única maneira que funcionou para mim em 10.10 (ruby 2.1.2)
Ou tente
gem install libv8 -v 'XX.XX.XX' -- --with-system-v8
adicionar a versão da joia :)ATUALIZAÇÃO para Mac OS Catalina:
fonte
gem 'therubyracer', '0.12.1'
(adicionar a versão). Em seguida, removeu Gemfile.lock e fezbundle install
. Funciona bem.Nenhuma das respostas funciona para mim neste momento. Eu também uso isto:
Visto nas questões rubyracer Github.
Espero que isso ajude mais alguém.
fonte
gem install therubyracer -- --with-v8-dir=$(brew --prefix v8-315)
funciona melhor para mim. O diretório no meu mac é, na verdade/usr/local/opt/[email protected]
Talvez seja útil para alguém, mas tive problemas ao instalar o therubyracer (por causa dos problemas com a libv8) a solução foi desinstalar toda a libv8 que eu tinha instalado. Instale o therubyracer
Espero que isso ajude alguém.
fonte
gem uninstall libv8 -a -x
. Se você usar um gerenciador de versão ruby (por exemplorbenv
, etc), isso funcionará apenas para a sua versão atual do ruby (caso isso não seja óbvio).Parece que isso foi corrigido no upstream. O que funcionou para mim e @aurels e @Mike Causer e @Juanda foi:
fonte
Isso funcionou muito bem para mim no meu Yosemite e Ruby 2.1.5 (Ruby por RVM)
Anteriormente, ele estava me dando um erro
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
para libv8 gem versão 3.16.14.3fonte
Apenas isso funciona para mim em meu Yosemite, Ruby 2.1.2:
fonte
ruby 1.9.3p484
erubyracer 0.12.3
Consegui prosseguir com o Ruby Racer depois
rm Gemfile.lock
de antemão: instalei o v8 via
brew install v8
, e depois fizgem install libv8 -v '3.16.14.3' -- --with-system-v8
e estou correndo 10.10 Yosemite
fonte
Eles corrigiram esse problema na versão mais recente do libv8. Veja: https://github.com/cowboyd/libv8/issues/123
Você deve instalar a partir do repositório github, no rails eu adicionei uma linha ao meu gemfile como esta
gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true
EDITAR:
Isso aparentemente resolve apenas parte do problema. Instalei a nova versão da libv8, mas agora o rubyracer ainda está procurando a outra, acho? Ainda estou olhando para isso.
fonte
Eu tive o mesmo problema no Yosemite. Minha solução é semelhante à que aparece acima.
Usar
gem uninstall libv8
para remover qualquer coisa que possa estar instalada.Deixe therubyracer em seu Gemfile, mas remova qualquer referência explícita a libv8.
Corra
bundle install
.O libv8 então instalado corretamente como uma dependência.
fonte
Resposta atualizada para 2018.
Estou em High Sierra, no Homebrew 1.6.1
É o que funcionou para mim.
O crédito vai para @ coding-addicted por sua resposta original .
fonte
Depois de horas tentando simplesmente atualizar o Ruby, funcionou:
e adicionar o seguinte ao arquivo gem:
fonte
Um alerta para qualquer pessoa que possa estar tendo meu problema: acabei desinstalando minha versão ruby no RVM e depois reinstalando-a. Isso parecia usar as dependências corretas na versão mais recente das ferramentas xcode para compilar ruby.
fonte
Eu fiz o seguinte
que agora instala
therubyracer 0.12.1
que instala a dependêncialibv8 (3.16.14.7 x86_64-darwin-14)
que instalou sem erros.Fiz isso usando o
ruby 2.1.5
qual instalei via:o que fiz depois de correr
brew upgrade ruby-builds
.Depois de instalar
ruby 2.1.5
, também executeipara obter
rubygems-update 2.4.5
fonte
isso acontece devido a alguns conflitos com a libv8 também, embora você possa apenas atribuir uma versão ao rubyracer e ele será instalado:
mude o seguinte no gemfile:
gem 'therubyracer', '~> 0.12.1'
e fazer a instalação do pacote
fonte
O que funcionou para mim, com base no seguinte comentário,
https://github.com/cowboyd/therubyracer/issues/304#issuecomment-62046085
era remover Gemfile.lock e, em seguida, executar bundle install
fonte
Esta solução funcionou para mim seguindo a solução de Jakub Troszok acima com apenas uma pequena alteração
fonte
Usar o diretório v8 do homebrew para
--with-v8-dir=/usr/local/Cellar/[email protected]/3.15.11.18_1
, em vez de/usr/local/opt/v8-315
, é o que funcionou para mim, na resposta de codificação de viciado.Isso é visível no do
Summary
comando brew installbrew install v8-315
,.fonte