web-dev-qa-db-ja.com

puma gem-gemネイティブ拡張のビルドに失敗しました

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が失敗しました*** 
25
Amod Pandey

以下を試してください

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
69
Zack Xu

私はOS X 10.12.4を使用しており、@ mahiが追加したコメントは私のために働いた:

gem install puma -v '3.6.0' -- --with-opt-dir=/usr/local/opt/openssl
38
Beartech

OSx El Capitanでも同様の問題がありました。私がしなければならなかった問題を解決するために:

brew install openssl
brew link --force openssl
14
Konstantin Rudy

libssl1.0-devのインストールが助けてくれました。試して

apt-get install libssl1.0-dev

その後

gem install puma
9
Victor

オープンSSLエラーの可能性があります

gem install puma -v 2.11.2 -- --with-opt-dir=/usr/local/opt/openssl
7
Prem

Mac OS X 10.10で同様のエラーが発生しました。

mkmf.logは、これが次の原因であることを示しました。

Xcode/iOSライセンスに同意するには管理者権限が必要です。Sudo経由でrootとして再実行してください。

これは、Xcodeの新しいバージョンのインストールが原因でした。これは、AppleのXcodeライセンスを受け入れることで簡単に解決できました。

Sudo xcodebuild -license

これが将来誰かを助けることを願っています;-)

7
Gawin

バンドラーと自作を使用する場合:

$ bundle config build.puma --with-cppflags=-I$(brew --prefix openssl)/include
$ bundle install

Lloeki ここからこの回答をコピーして適用しました: https://stackoverflow.com/a/31516586/704499

6
morgler

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" 
3
Amod Pandey

事前にこれを行う必要がありました:Sudo apt-get install libgmp3-dev

3
matsko

やってみました

DISABLE_SSL=true gem install puma

次のようなバージョン固有の要件がある場合は、バージョンを指定します。

DISABLE_SSL=true gem install puma -v version_number
3
AkashP

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)

0
ykadaru

これらのパッケージをインストールします。

apt-get install openssl Ruby-openssl libssl-dev

0
Kunsang Dorjee