Начало работы с Ruby при установке пакета Heroku, puma 2.9.1

Я пытаюсь установить пакет Ruby на Heroku. Я следовал процедурам, описанным на странице «Начало работы с Ruby на Heroku». Когда я делаю bundle install, я получаю сообщение об ошибке, предлагающее мне установить puma v 2.9.1.

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

        c:/RailsInstaller/Ruby1.9.3/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 unsign
ed 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:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/ruby/intern.h:661:7: note: expect
ed 'const char *' but argument is of type 'uint8_t *'
compiling mini_ssl.c
In file included from mini_ssl.c:3:0:
c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/ruby/backward/rubyio.h:2:2: warni
ng: #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:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9
.1/gems/puma-2.9.1 for inspection.
Results logged to c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/puma-2.9.
1/ext/puma_http11/gem_make.out
An error occurred while installing puma (2.9.1), and Bundler cannot continue.
Make sure that `gem install puma -v '2.9.1'` succeeds before bundling.

Когда я пытаюсь установить Puma, я получаю это:

$ gem install puma -v '2.9.1'
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:/RailsInstaller/Ruby1.9.3/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 unsign
ed 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:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/ruby/intern.h:661:7: note: expect
ed 'const char *' but argument is of type 'uint8_t *'
compiling mini_ssl.c
In file included from mini_ssl.c:3:0:
c:/RailsInstaller/Ruby1.9.3/include/ruby-1.9.1/ruby/backward/rubyio.h:2:2: warni
ng: #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:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9
.1/gems/puma-2.9.1 for inspection.
Results logged to c:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/puma-2.9.
1/ext/puma_http11/gem_make.out

Кто-нибудь может сделать что-нибудь из этого?


person glocklesnar    schedule 14.02.2015    source источник


Ответы (3)


Я только что столкнулся с этой проблемой!

Вот как я это исправил: я погуглил «puma 2.9.1».

второй результат предложил указать номер версии в команде установки gem следующим образом: gem install --version 2.9.1

это сработало!

person Aaron Greenberg    schedule 10.03.2015

  1. установить DevKit, например. в c:\devkit
  2. распакуйте пакет OpenSSL, например. в c:\openssl (используйте 7Zip или PeaZip)
  3. Вам нужно скопировать ddls из каталога bin (libeay32.dll и ssleay32.dll) в каталог ruby/bin.
  4. открыть консоль виндовс
  5. инициализировать среду сборки DevKit

    c:\devkit\devkitvars.bat

  6. Теперь можно установить гем puma с пакетами OpenSSL gem install puma --with-opt-dir=c:\openssl

ссылка: https://github.com/hicknhack-software/rails-disco/wiki/Installing-puma-on-windows и: https://github.com/puma/puma/issues/202

person Antarr Byrd    schedule 15.02.2015

Ключом для меня было сначала предоставить доступ администратора к brew, а затем связать postgresul с brew, используя следующие команды в том порядке, в котором они перечислены.

  1. sudo chown -R $(whoami) /usr/local
  2. заваривать обновление
  3. варить доктор
  4. варить ссылку postgresql

После ввода этой строки команд с героку все заработало.

Ничего не стоит Я нашел гораздо более простой учебник, чем героку здесь - http://railsapps.github.io/installrubyonrails-mac.html

Многие шаги, которые предлагает вам Herkou, не имеют решающего значения для настройки рельсов. Таким образом, если вы не настроены на героку, вам следует проверить эту ссылку.

person Nick Sarafa    schedule 03.04.2015