2015-01-04 13 views
9

Ho provato a installare la gemma 'sinatra-websocket', ma quando mi sono imbattuto gem install sinatra-websocket, ho ottenuto questo errore ...errore di installazione Gem: È necessario installare gli strumenti di sviluppo primi

ERROR: Failed to build gem native extension

... insieme ...

C:/Ruby193/bin/ruby.exe extconf.rb 
checking for main() in -lc... *** 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=C:/Ruby193/bin/ruby 
    --with-thin_parser-dir 
    --without-thin_parser-dir 
    --with-thin_parser-include 
    --without-thin_parser-include=${thin_parser-dir}/include 
    --with-thin_parser-lib 
    --without-thin_parser-lib=${thin_parser-dir}/lib 
    --with-clib 
    --without-clib 
C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:461:in `try_link0' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:476:in `try_link' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:619:in `try_func' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:845:in `block in have_library' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:280:in `postpone' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for' 
    from C:/Ruby193/lib/ruby/1.9.1/mkmf.rb:840:in `have_library' 
    from extconf.rb:4:in `<main>' 

Ecco cosa il file mkmf in C:\Ruby193\lib\ruby\gems\1.9.1\gems\thin-1.6.3\ext\thin_parser assomiglia:

"gcc -o conftest -IC:/Ruby193/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby193/include/ruby-1.9.1/ruby/backward -IC:/Ruby193/include/ruby-1.9.1 -I. -DFD_SETSIZE=2048 -DFD_SETSIZE=2048 -O3 -fno-omit-frame-pointer -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c -L. -LC:/Ruby193/lib -L. -march=i486 -lmsvcrt-ruby191 -lshell32 -lws2_32 -limagehlp -lshlwapi " 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <winsock2.h> 
4: #include <windows.h> 
5: int main(int argc, char **argv) 
6: { 
7: return 0; 
8: } 
/* end */ 

Sto usando Windows 7.

Perché sto ricevendo l'errore? C'è una riga che afferma "non è possibile creare Makefile ...", ma è rilevante?

+0

Il file mkmf.log può essere trovato nella directory di installazione della gemma. – Emanuel

+0

@ siaw23 Ho aggiunto il contenuto del file –

+0

Hai installato un compilatore C? – iain

risposta

20

Hai passato:

xcode-select --install 

Per installare gli strumenti Xcode Developer?

+14

Non penso che gli "strumenti di sviluppo" a cui si fa riferimento nell'errore abbiano qualcosa a che fare con xcode, specialmente considerando che questo è su Windows. –

+3

Questo lavoro per me su Mac (mavericks). grazie – Liko

+0

Mi sono spostato su una nuova macchina e ho dimenticato gli strumenti da riga di comando xcode come installazione separata su XCode. Questo ha aiutato grazie. Stavo lottando con 'gem install puma' –

10

Sembra che manchi la devtools per il rubino.

È possibile ottenerli qui: http://rubyinstaller.org/downloads/ basta scorrere fino a "Kit di sviluppo".

Scarica ed estrai questo ovunque desideri. Aprire la cartella nel prompt dei comandi ed eseguire ruby dk.rb init. Questo creerà un file di configurazione che descrive le tue installazioni di ruby. Controlla questo file di configurazione prima di continuare a confermare che i percorsi per l'installazione di Ruby siano corretti.

Ora eseguire ruby dk.rb install. Questo installerà il kit di sviluppo.

Riavviare il prompt dei comandi e provare a installare nuovamente la gemma.

Problemi correlati