安装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 ***
答案 0 :(得分:68)
尝试以下
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
答案 1 :(得分:36)
我在OS X 10.12.4上,@ mahi添加的评论为我工作:
CGPoint
答案 2 :(得分:14)
我在OSx El Capitan上遇到过类似的问题。为了解决我必须做的问题:
brew install openssl
brew link --force openssl
答案 3 :(得分:9)
不是我的回答,但是this帮助我在macOS(大型Sur)上安装了puma,因为在构建puma时有警告。
我使用的命令是这样:
gem install puma -- --with-cflags="-Wno-error=implicit-function-declaration"
答案 4 :(得分:7)
我在Mac OS X 10.10下遇到了类似的错误。
mkmf.log
中的详细信息表明这是由于:
同意Xcode / iOS许可证需要管理员权限 通过sudo以root身份重新运行。
这是由安装新版Xcode引起的。 通过接受Apple的Xcode许可证很容易解决这个问题:
sudo xcodebuild -license
希望这可能有助于将来的某些人; - )
答案 5 :(得分:7)
这可能是一个开放的错误
gem install puma -v 2.11.2 -- --with-opt-dir=/usr/local/opt/openssl
答案 6 :(得分:6)
libssl1.0-dev安装对我有帮助。试试
apt-get install libssl1.0-dev
然后
gem install puma
答案 7 :(得分:5)
使用bundler和homebrew时:
$ bundle config build.puma --with-cppflags=-I$(brew --prefix openssl)/include
$ bundle install
我在Lloeki点复制并修改了这个答案:https://stackoverflow.com/a/31516586/704499
答案 8 :(得分:3)
我必须事先做到这一点:sudo apt-get install libgmp3-dev
答案 9 :(得分:3)
你试过吗
DISABLE_SSL=true gem install puma
如果您具有特定于版本的要求,请指定版本:
DISABLE_SSL=true gem install puma -v version_number
答案 10 :(得分:2)
gem正在寻找ssl库。所以我们必须提供包含ssl lib
的lib的路径e.g。的/ usr /共享/ OpenSSL的
在我的情况下,ssl lib" libcrypto"在/ usr / local / lib中。所以让我们将/ usr / local传递给它(不包括 lib 字)。
用于gem install
gem install puma -- --with-opt-dir=/usr/local
用于捆绑安装
bundle config build.puma --with-opt-dir=/usr/local bundle install
注意名称build。 puma 。其中 puma 是宝石的名称。
build config命令将以下内容添加到〜/ .bundle / config
--- BUNDLE_BUILD__PUMA: "--with-opt-dir=/usr/local"
答案 11 :(得分:0)
运行brew info openssl
并按照其中的说明操作。不要尝试--force
将最新的openssl链接到默认安装OSX的那个。 (0.9.8)
具体而言,它会要求您将自制的openssl版本(截止日期为1.0.2)添加到$ PATH中。
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
注意:确保从bash_profile中删除任何export PATH
行,因为上面的这一行会导出它,以便将$ PATH变量的其余部分附加到结尾。要查看bash配置文件,请使用vi ~/.bash_profile
这解决了安装需要编译的ruby gem的问题。 (在这种情况下是彪马)
答案 12 :(得分:0)
安装这些软件包。
apt-get install openssl ruby-openssl libssl-dev