Puma Gemをインストールしようとしていますが、実行すると
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でも機能せず、エラーメッセージが表示されるためです(これは別の問題ですが、 gem install
)経由でインストールすることで、私が使用した他のgemを回避しました。
非常に同じ問題が発生しました。
Sudo apt-get install libssl-dev
私のために修正しました。
bundle update
の前にbundle install
を実行したところ、問題は解決しました。
その前に手動でピューマを更新したので、それだけが役に立ったかどうかはわかりませんが、次の手順を使用します。
Ruby -v -ropenssl -e "puts OpenSSL::OPENSSL_VERSION"
を実行して確認しましたgem install puma -- --with-opt-dir=C:/RailsInstaller/openssl
プーマバンドルの解決策を考え出した。 https://github.com/hicknhack-software/Rails-disco/wiki/Installing-puma-on-windows からの指示に従いました
最初にダウンロードする必要があります:
その後:
c:\devkit
c:\openssl
(7ZipまたはPeaZipを使用)libeay32.dll
およびssleay32.dll
)をRuby/binディレクトリに追加します。c:\devkit\devkitvars.bat
(ここを除いて、代わりにコマンドプロンプトでこれを使用しました:Ruby dk.rb init
)OpenSSLパッケージを使用してpuma gemをインストールできるようになりました。
gem install puma -- --with-opt-dir=c:\openssl
あなたは問題#430をヒットしたと思います https://github.com/puma/puma/issues/4
Rubyを再インストールすると、GitHubでこの問題を解決するのに役立つ可能性があります。
私はWindows 8を使用していますが、開発モードでこの作業を行うことができませんでした。確かに、Herokuにデプロイしたときは、プロダクションモードで動作しました。プロダクションモードで試しましたか?