我在安装 puma gem 时遇到以下错误
$ gem 安装 puma 获取:puma-2.11.2.gem (100%) 构建本机扩展。这可能需要一段时间... 错误:安装 puma 时出错: 错误:无法构建 gem 本机扩展。 红宝石extconf.rb 检查 -lcrypto 中的 BIO_read()... 否 检查 -llibeay32 中的 BIO_read()...否 *** 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
不是我的答案,但是this帮助我在macos(big sur)上安装puma,因为在构建puma时出现警告。
我使用的命令是这样的:
gem install puma -- --with-cflags="-Wno-error=implicit-function-declaration"
libssl1.0-dev 安装对我有帮助。尝试一下
apt-get install libssl1.0-dev
然后
gem install puma
你尝试过吗
DISABLE_SSL=true gem install puma
如果您有版本特定要求,请指定版本:
DISABLE_SSL=true gem install puma -v version_number
我在 OSx El Capitan 上遇到了类似的问题。为了解决这个问题,我必须这样做:
brew install openssl
brew link --force openssl
这可能是一个开放的 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 库的库的路径
例如/usr/share/openssl
在我的例子中,ssl lib“libcrypto”位于 /usr/local/lib 中。因此,让我们将 /usr/local 传递给它(不包括 lib 单词)。
用于 gem 安装
gem install puma -- --with-opt-dir=/usr/local
对于捆绑安装
捆绑配置 build.puma --with-opt-dir=/usr/local 捆绑安装
注意名称 build.puma。其中 puma 是宝石的名称。
构建配置命令将以下内容添加到〜/.bundle/config
--- BUNDLE_BUILD__PUMA:“--with-opt-dir=/usr/local”
我必须事先这样做:
sudo apt-get install libgmp3-dev
运行
brew info openssl
并按照其中的说明进行操作。不要尝试将最新的 openssl 与 OSX 默认安装的 openssl 链接起来。 (0.9.8)具体来说,它会要求您将 openssl 的 Homebrew 版本(截至目前应为 1.0.2)添加到您的 $PATH 中。
--force
注意:请确保从 bash_profile 中删除任何
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
行,因为上面的这一行会导出它,并将 $PATH 变量的其余部分附加到末尾。要查看 bash 配置文件,请使用
export PATH
这解决了安装需要编译的 ruby gem 的问题。 (本例中为彪马)
apt-get 安装 openssl ruby-openssl libssl-dev
vi ~/.bash_profile
及以上,请使用以下
6.0