我在安装puma gem时遇到以下错误
$ gem install puma
Fetching: puma-2.11.2.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing puma:
ERROR: Failed to build gem native extension.
ruby extconf.rb
checking for BIO_read() in -lcrypto... no
checking for BIO_read() in -llibeay32... no
*** extconf.rb failed ***
Zac*_* Xu 72
请尝试以下方法
gem install puma -- --with-cppflags=-I/usr/local/opt/openssl/include
bundle install
Run Code Online (Sandbox Code Playgroud)
您还可以指定gem版本,如下所示:
gem install puma -v '2.11.3' -- --with-cppflags=-I/usr/local/opt/openssl/include
Run Code Online (Sandbox Code Playgroud)
Bea*_*ech 39
我在OS X 10.12.4上并且评论@mahi添加为我工作:
gem install puma -v '3.6.0' -- --with-opt-dir=/usr/local/opt/openssl
Run Code Online (Sandbox Code Playgroud)
kom*_*ten 18
这不是我的答案,但这个帮我安装在Mac OS彪马(大表)自建立美洲狮时有警告。
我使用的命令是这样的:
gem install puma -- --with-cflags="-Wno-error=implicit-function-declaration"
Run Code Online (Sandbox Code Playgroud)
Kon*_*udy 14
我在OSx El Capitan上遇到了类似的问题.为了解决我必须做的问题:
brew install openssl
brew link --force openssl
Run Code Online (Sandbox Code Playgroud)
Aka*_*shP 14
你有没有尝试过
DISABLE_SSL=true gem install puma
Run Code Online (Sandbox Code Playgroud)
如果您有特定于版本的要求,请指定版本,例如:
DISABLE_SSL=true gem install puma -v version_number
Run Code Online (Sandbox Code Playgroud)
小智 11
libssl1.0-dev安装对我有帮助.尝试
apt-get install libssl1.0-dev
Run Code Online (Sandbox Code Playgroud)
然后
gem install puma
Run Code Online (Sandbox Code Playgroud)
它可能是一个开放的ssl错误
gem install puma -v 2.11.2 -- --with-opt-dir=/usr/local/opt/openssl
Run Code Online (Sandbox Code Playgroud)
我在Mac OS X 10.10下遇到了类似的错误.
mkmf.log显示的细节表明这是由于:
同意Xcode/iOS许可证需要管理员权限,请通过sudo以root身份重新运行.
这是由安装新版Xcode引起的.通过接受Apple的Xcode许可证可以轻松解决这个问题:
sudo xcodebuild -license
Run Code Online (Sandbox Code Playgroud)
希望这可能会在将来帮助某人;-)
使用bundler和homebrew时:
$ bundle config build.puma --with-cppflags=-I$(brew --prefix openssl)/include
$ bundle install
Run Code Online (Sandbox Code Playgroud)
我在这里复制并改编了Lloeki的答案:https://stackoverflow.com/a/31516586/704499
gem 正在寻找 ssl 库。所以我们必须提供包含 ssl 库的库的路径
例如 /usr/share/openssl
在我的情况下,ssl 库“libcrypto”在 /usr/local/lib 中。因此,让我们将 /usr/local 传递给它(不包括lib字)。
对于 gem 安装
gem install puma -- --with-opt-dir=/usr/localRun Code Online (Sandbox Code Playgroud)
对于捆绑安装
捆绑配置 build.puma --with-opt-dir=/usr/local 捆绑安装
注意名称构建。美洲狮。其中puma是宝石的名称。
build config 命令将以下内容添加到 ~/.bundle/config
--- BUNDLE_BUILD__PUMA: "--with-opt-dir=/usr/local"
| 归档时间: |
|
| 查看次数: |
17860 次 |
| 最近记录: |