Puma gemのインストール中に次のエラーが表示されました
$ gem install puma 取得:puma-2.11.2.gem(100%) ネイティブ拡張の構築。これにはしばらく時間がかかる可能性があります... エラー:pumaのインストールエラー: エラー:gemネイティブ拡張のビルドに失敗しました。 Ruby extconf.rb -lcryptoでBIO_read()をチェックしています... no -llibeay32でBIO_read()をチェックしています... no *** extconf。 rbが失敗しました***
以下を試してください
gem install puma -- --with-cppflags=-I/usr/local/opt/openssl/include
bundle install
また、次のようにgemバージョンを指定することもできます。
gem install puma -v '2.11.3' -- --with-cppflags=-I/usr/local/opt/openssl/include
私はOS X 10.12.4を使用しており、@ mahiが追加したコメントは私のために働いた:
gem install puma -v '3.6.0' -- --with-opt-dir=/usr/local/opt/openssl
OSx El Capitanでも同様の問題がありました。私がしなければならなかった問題を解決するために:
brew install openssl
brew link --force openssl
libssl1.0-devのインストールが助けてくれました。試して
apt-get install libssl1.0-dev
その後
gem install puma
オープンSSLエラーの可能性があります
gem install puma -v 2.11.2 -- --with-opt-dir=/usr/local/opt/openssl
Mac OS X 10.10で同様のエラーが発生しました。
mkmf.log
は、これが次の原因であることを示しました。
Xcode/iOSライセンスに同意するには管理者権限が必要です。Sudo経由でrootとして再実行してください。
これは、Xcodeの新しいバージョンのインストールが原因でした。これは、AppleのXcodeライセンスを受け入れることで簡単に解決できました。
Sudo xcodebuild -license
これが将来誰かを助けることを願っています;-)
バンドラーと自作を使用する場合:
$ bundle config build.puma --with-cppflags=-I$(brew --prefix openssl)/include
$ bundle install
Lloeki ここからこの回答をコピーして適用しました: https://stackoverflow.com/a/31516586/704499
Gemはsslライブラリを探しています。そのため、ssl libを含むlibへのパスを提供する必要があります
例えば/ usr/share/openssl
私の場合、ssl lib "libcrypto"は/ usr/local/libにありました。そこで/ usr/localを渡しましょう(lib Wordを除く)。
Gemインストールの場合
gem install puma -- --with-opt-dir=/usr/local
バンドルインストールの場合
bundle config build.puma --with-opt-dir =/usr/local bundle install
build .pumaという名前に注意してください。ここで、pumaはgemの名前です。
Build configコマンドは、以下を〜/ .bundle/configに追加します
--- BUNDLE_BUILD__PUMA: "--with-opt-dir =/usr/local"
事前にこれを行う必要がありました:Sudo apt-get install libgmp3-dev
やってみました
DISABLE_SSL=true gem install puma
次のようなバージョン固有の要件がある場合は、バージョンを指定します。
DISABLE_SSL=true gem install puma -v version_number
brew info openssl
を実行し、指示に従ってください。 --force
最新のopensslを、デフォルトでOSXとともにインストールされているものとリンクしようとしないでください。 (0.9.8)
具体的には、opensslのHomebrewバージョン(この日付では1.0.2である必要があります)を$ PATHに追加するように求められます。echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
注:上記のこの行は、残りの$ PATH変数を末尾に追加するためにエクスポートするため、bash_profileからexport PATH
行を必ず削除してください。 bashプロファイルを表示するには、vi ~/.bash_profile
を使用します
これにより、コンパイルが必要なRuby gemのインストールに関する問題が修正されました。この場合はPuma)
これらのパッケージをインストールします。
apt-get install openssl Ruby-openssl libssl-dev