Подтвердить что ты не робот

Невозможно установить жемчужину Puma на Ruby on Rails

Я пытаюсь установить жемчуг puma, но когда я запустил

gem install puma

Я получаю это сообщение об ошибке:

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

Добавление gem 'puma' в мой Gemfile и запуск bundle install не является опцией, потому что это просто не работает с каким-либо драгоценным камнем и дает мне сообщение об ошибке (это отдельная проблема, которую я обошел с другими драгоценными камнями, которые я использовал, установив их через gem install).

4b9b3361

Ответ 1

Вышла одна и та же проблема.

sudo apt-get install libssl-dev

исправил это для меня.

Ответ 2

Я побежал bundle update до bundle install, и это решило проблему для меня.

Я не уверен, что это единственное, что помогло, поскольку я вручную обновлял puma до этого, используя следующие шаги:

Ответ 3

Я думаю, вы попали в проблему №430 https://github.com/puma/puma/issues/430

Повторная установка Ruby может помочь вам, а также закрыть эту проблему на GitHub.

Ответ 4

Выяснили решение пума пумы. Следуйте указаниям https://github.com/hicknhack-software/rails-disco/wiki/Installing-puma-on-windows

Сначала вам нужно скачать:

  • DevKit, совместимый с вашей рубиновой версией
  • OpenSSL Пакет разработчика (содержит файлы заголовков и двоичные файлы)

И затем:

  • Установите DevKit, например. в c:\devkit
  • Распаковать пакет OpenSSL, например. в c:\openssl (используйте 7Zip или PeaZip)
  • Вам нужно скопировать ddls из каталога bin (libeay32.dll и ssleay32.dll) в каталог ruby ​​/bin.
  • Откройте консоль Windows
  • Инициализировать среду сборки DevKit: c:\devkit\devkitvars.bat (кроме этого вместо этого я использовал это в командной строке: ruby dk.rb init)

Теперь можно установить жемчуг puma с пакетами OpenSSL:

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

Ответ 5

Я использую Windows 8 и не могу получить эту работу в режиме разработки. Разумеется, он работал в режиме производства, когда я развернулся в Хероку. Вы пробовали в режиме производства?