ruby-on-rails - web server puma




Impossibile installare Puma gem su Ruby on Rails (4)

Sto cercando di installare la gemma puma, ma quando corro

gem install puma

Ottengo questo messaggio di errore:

Temporarily enhancing PATH to include DevKit
Building native extensions.  This could take a while...
ERROR:  Error installing puma:
        ERROR: Failed to build gem native extension.

    C:/Ruby193/bin/ruby.exe extconf.rb
creating Makefile

make                                                
generating puma_http11-i386-mingw32.def                              
compiling http11_parser.c       
ext/http11/http11_parser.rl: In function 'puma_parser_execute':  
ext/http11/http11_parser.rl:111:3: warning: comparison between signed and unsigned integer   expressions    
compiling io_buffer.c   
io_buffer.c: In function 'buf_to_str':             
io_buffer.c:119:3: warning: pointer targets in passing argument 1 of 'rb_str_new'      differ in signedness             
c:/Ruby193/include/ruby-1.9.1/ruby/intern.h:653:7: note: expected 'const char *' but argument is of type 'uint8_t *'                    
compiling mini_ssl.c                                         
In file included from mini_ssl.c:3:0:                                        
c:/Ruby193/include/ruby-1.9.1/ruby/backward/rubyio.h:2:2: warning: #warning use "ruby/io.h" instead of "rubyio.h"              
mini_ssl.c:4:25: fatal error: openssl/bio.h: No such file or directory               
compilation terminated.                     
make: *** [mini_ssl.o] Error 1             

Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/puma-2.6.0 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/puma-2.6.0/ext/puma_http11/gem_make.out

L'aggiunta di gem 'puma' al mio Gemfile e l' bundle install non è un'opzione, perché non funziona con nessuna gemma e mi dà un messaggio di errore (che è un problema separato, che ho eluso con l'altro gemme che ho usato installandole tramite gem install ).


È venuto attraverso lo stesso problema.

sudo apt-get install libssl-dev

risolto per me.


Capito la soluzione al puma bundle. Indicazioni seguite da https://github.com/hicknhack-software/rails-disco/wiki/Installing-puma-on-windows

Per prima cosa devi scaricare:

  • DevKit compatibile con la tua versione di rubino
  • Pacchetto per sviluppatori OpenSSL (contiene file di intestazione e file binari)

E poi:

  • Installa DevKit, ad es. In c:\devkit
  • Spacchettare il pacchetto OpenSSL, ad es. In c:\openssl (usare 7Zip o PeaZip)
  • È necessario copiare i ddls dalla directory bin ( libeay32.dll e ssleay32.dll ) nella directory ruby ​​/ bin.
  • Apri una console di Windows
  • Inizializza l'ambiente di sviluppo di DevKit: c:\devkit\devkitvars.bat (tranne qui, ho usato questo nel prompt dei comandi invece: ruby dk.rb init )

Ora è possibile installare la gemma puma con i pacchetti OpenSSL:

gem install puma -- --with-opt-dir=c:\openssl


Sto usando Windows 8 e non ho potuto ottenere questo lavoro in modalità di sviluppo. Sicuramente, ha funzionato in modalità produzione quando mi sono schierato su Heroku. Hai provato in modalità produzione?







puma