Falha ao construir gema nativo extensão gem ruby ​​racer de versão diferente

Eu copiei o aplicativo da produção e montei a instalação para instalar todas as gemas que estão em produção e não na minha máquina local.

O arquivo Gem.lock possui a versão rubyracer ‘0.10.1’. Então, quando ele tentou instalar esta versão usando a instalação do pacote seguinte erro apareceu.

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /home/user/.rvm/rubyes/ruby-1.9.3-p392/bin/ruby extconf.rb *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --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=/home/user/.rvm/rubyes/ruby-1.9.3-p392/bin/ruby extconf.rb:15:in `': undefined method `include_path' for Libv8:Module (NoMethodError) Gem files will remain installed in /home/user/.rvm/gems/ruby-1.9.3-p392/gems/therubyracer-0.10.1 for inspection. Results logged to /home/user/.rvm/gems/ruby-1.9.3-p392/gems/therubyracer-0.10.1/ext/v8/gem_make.out 

Eu não sou capaz de executar os comandos de andaimes na minha versão de produção de código da minha máquina local por causa desse erro. Por favor, me ajude.

Podemos editar o arquivo gemfile.lock para remover o “therubyracer (0.10.1)” e depois executar o comando generate scaffold e, em seguida, colocar de volta as alterações após o uso de scaffold?

EDITAR:

  *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --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=/home/vsadhu/.rvm/rubyes/ruby-1.9.3-p392/bin/ruby extconf.rb:14:in `': undefined method `include_path' for Libv8:Module (NoMethodError) 

Em resposta à seguinte citação:

Podemos editar o gemfile.lock para remover o “therubyracer (0.10.1)”

Não nós não podemos. Dependendo do sistema operacional em que você está, você pode fazer o seguinte:

 $gem uninstall libv8 $gem install therubyracer 

Eu tenho um aplicativo rails que eu fiz recentemente e eu também estava rodando o Rails 3.2.14 e tinha o seguinte:

 group :assets do gem 'therubyracer', :require => 'v8' gem 'less-rails' gem 'coffee-rails', '~> 3.2.1' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer', :platforms => :ruby gem 'uglifier', '>= 1.0.3' end 

Você deve usar este segundo método antes de adicionar este bloco de ativos ao seu gemfile. Exclua seu Gemfile.lock e, em seguida, adicione o bloco de ativos ao Gemfile, salve-o e execute a bundle update