web-dev-qa-db-fra.com

Impossible d'installer le bijou Puma sur Ruby on Rails

J'essaie d'installer le puma, mais quand je cours

gem install puma

Je reçois ce message d'erreur:

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

Ajouter gem 'puma' à mon Gemfile et exécuter bundle install n'est pas une option, car cela ne fonctionne avec aucune gemme et donne un message d'erreur utilisé en les installant via gem install). 

23
EJ107

A rencontré le même problème.

Sudo apt-get install libssl-dev

corrigé pour moi.

12
Vitali

J'ai exécuté bundle update avant bundle install et cela a résolu le problème pour moi.

Je ne sais pas si c'est la seule chose qui m'a aidé, car j'avais précédemment mis à jour manuellement puma en utilisant ces étapes:

  1. Vérification de la version de openssl que Ruby utilise en exécutant Ruby -v -ropenssl -e "puts OpenSSL::OPENSSL_VERSION"
  2. Téléchargé la version de droite de openssl depuis http://packages.openknapsack.org/openssl/openssl-1.0.0o-x86-windows.tar.lzma (Obtenez le lien depuis https: //github.com/hicknhack-software/Rails-disco/wiki/Installing-puma-on-windows et l'a édité sur la base du résultat de # 1).
  3. Extrait openssl en utilisant http://www.7-Zip.org vers C:\RailsInstaller\openssl
  4. gem install puma -- --with-opt-dir=C:/RailsInstaller/openssl
9
Anis Abboud

Je pense que vous avez atteint le numéro 430 https://github.com/puma/puma/issues/430

Réinstaller Ruby pourrait vous aider et résoudre ce problème sur GitHub.

3
Nikolai Manek

J'utilise Windows 8 et je n'ai pas pu obtenir ce travail en mode développement. Sûrement, cela a fonctionné en mode production quand j'ai déployé à Heroku. Avez-vous essayé en mode production?

0
Omar Sar