2012-07-31 11 views
7

Mi stavo rovinando la testa. Ho seguito suggerimenti in diversi post correlati ma senza risultati.Come installare il gem rubino libv8 su una nuova installazione di Mountain Lion?

Sto iniziando da una nuova installazione di Mountain Lion, ho installato gli strumenti della riga di comando e ho installato correttamente Ruby 1.8.7 in base ad alcuni altri post che ho trovato per l'installazione di gcc-4.2 tramite Homebrew e aggiungendo un link simbolico in /usr/bin/gcc-4.2.

Ora, tuttavia, non riesco a installare correttamente libv8. L'errore qui sotto è il punto in cui sono uscito dai suggerimenti esistenti.

Qualsiasi input aggiuntivo?

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

     /Users/Eric/.rbenv/versions/1.8.7-p352/bin/ruby extconf.rb 
creating Makefile 
Unable to find a compiler officially supported by v8. 
It is recommended to use GCC v4.4 or higher 
Traceback (most recent call last): 
    File "build/gyp/gyp", line 18, in <module> 
    sys.exit(gyp.main(sys.argv[1:])) 
    File "build/gyp/pylib/gyp/__init__.py", line 480, in main 
    generator.GenerateOutput(flat_list, targets, data, params) 
    File "build/gyp/pylib/gyp/generator/make.py", line 2085, in GenerateOutput 
    part_of_all=qualified_target in needed_targets) 
    File "build/gyp/pylib/gyp/generator/make.py", line 756, in Write 
    self.xcode_settings, self.Absolutify, self.Pchify)) 
    File "build/gyp/pylib/gyp/generator/make.py", line 1132, in WriteSources 
    cflags = self.xcode_settings.GetCflags(configname) 
    File "build/gyp/pylib/gyp/xcode_emulation.py", line 258, in GetCflags 
    sdk_root = self._SdkPath() 
    File "build/gyp/pylib/gyp/xcode_emulation.py", line 247, in _SdkPath 
    return os.path.join(self._GetSdkBaseDir(), '%s.sdk' % sdk_root) 
    File "build/gyp/pylib/gyp/xcode_emulation.py", line 233, in _GetSdkBaseDir 
    raise Exception('Error %d running xcode-select' % job.returncode) 
Exception: Error 2 running xcode-select 
make: *** [out/Makefile.x64] Error 1 
Using compiler: g++ 
GYP_GENERATORS=make \ 
    build/gyp/gyp --generator-output="out" build/all.gyp \ 
        -Ibuild/standalone.gypi --depth=. \ 
        -Dv8_target_arch=x64 \ 
        -S.x64 -Dhost_arch=x64 
xcode-select: Error: No Xcode is selected. Use xcode-select -switch <path-to-xcode>, or see the xcode-select manpage (man xcode-select) for further information. 



Gem files will remain installed in /Users/Eric/Development/par8o/vendor/bundle/ruby/1.8/gems/libv8-3.11.8.3 for inspection. 
Results logged to /Users/Eric/Development/par8o/vendor/bundle/ruby/1.8/gems/libv8-3.11.8.3/ext/libv8/gem_make.out 
An error occured while installing libv8 (3.11.8.3), and Bundler cannot continue. 
Make sure that `gem install libv8 -v '3.11.8.3'` succeeds before bundling. 
+0

Avete installato Xcode. Se non provi a installare xcode – Josnidhin

+1

non l'ho fatto e preferirei evitarlo se posso. Il pacchetto di strumenti della riga di comando non dovrebbe coprire questo? –

+0

Potrebbe essere possibile, non molto sicuro – Josnidhin

risposta

-2

gemme diverse richiedono diverse versioni di GCC, quindi questo può o non può funzionare per tutte le gemme, ma questi link simbolici risolto il problema per il JSON, eventmachine, e gemme libv8 su Mountain Lion con Xcode 4.4 installato.

sudo ln -s /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

sudo ln -s /usr/llvm-gcc-4.2/bin /llrm-gcc-4.2 /usr/bin/g++-4.2

+0

Questo non ha funzionato per me ... –

+0

Diverse versioni di RUBY richiedono diversi compilatori. 1.9.3 e 1.9.2 richiedono diverse versioni di GCC, rispettivamente. Per 1.9.3, il GCC fornito con Mountain Lion va bene, ma se vuoi Ruby 1.9.2m, devi installare GCC 4.2 – tesserakt

15

L'affare è con rubino 1.8.7. Probabilmente hai bisogno di questa gemma per eseguire il terubyracer. E per fare questo lavoro è necessario installare therubyracer gemma come segue:

RUBYOPT=-rrubygems gem install therubyracer 

Questo installerà sia therubyracer e gemme libv8.

fonte: http://coderwall.com/p/y1djxq

+1

Grazie, mi hai dato un po 'di cibo per il brainstorming ... –

0

Utilizzando la RUBYOPT = suggerimento -rrubygems sopra funzionato per me, ma ho dovuto disinstallare le mie gemme therubyracer e libv8 esistenti prima.

0

Dopo molti tentativi falliti di vari metodi ho finalmente scaricato Xcode e come dice il messaggio di errore, che farò il trucco

3

Nel mio caso la compilazione non è riuscita, a causa di problemi con libtool. L'errore era libtool: unrecognized option '-static' durante l'installazione della gemma libv8.

Il problema era che il mio Macports-Installation stava avendo un libtool ovviamente non funzionante. E la directory macports in $PATH era prima delle normali directory in cui veniva chiamato il libtool sbagliato.

Rimuovere le directory macports dalla variabile PATH-Environment ha fatto il trucco: è stato utilizzato il libtool da XCode e tutto è andato bene.

+0

Puoi essere un un po 'più specifico su come hai fatto questo? Sono abbastanza nuovo in questo processo. – flyingarmadillo

0

Nessuna delle risposte di cui sopra ha funzionato per me. Questo è ciò che ha fatto:

gem install libv8 -v '3.11.8.3' 
gem install therubyracer -v '0.11.0beta5' 

ref: https://coderwall.com/p/s8ofka

mio sistema:

OSX Mountain Lion 
Ruby 1.9.3 
2

Dopo che ho avuto questo problema su OS X 10.7.5, la voce di seguire Gemfile ha lavorato per me:

gem "libv8", '3.11.8.13' 

> ruby -v 
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2] 
0

prima cercare di risolvere il problema utilizzando:

RUBYOPT=-rrubygems gem install therubyracer 

Se l'errore persiste, aggiornare le gemme:

bundle update 
3

I avuto questo problema e trovato la soluzione here

In breve, installare v8 da soli - se si dispone di home-bre w è possibile eseguire

brew install v8 

quindi utilizzare il v8 sistema durante l'installazione di

gem install libv8 -- --with-system-v8 
+2

'gem install libv8 -v = 3.16.14.2 - --with-system-v8' questo ha funzionato per me (notare l'ulteriore '-') – Florin

+0

Grazie a @Florin, è stato un errore di battitura sul mio fine :) – cadlac

Problemi correlati