无法安装 Jekyll - “致命错误:找不到‘openssl/ssl.h’文件”

问题描述 投票:0回答:1

我正在尝试在 Mac OS 上本地托管一个 Jekyll 站点。 使用

gem install jekyll
下载 Jekyll 后,我遇到了错误:

current directory: /Users/main/.rvm/gems/ruby-3.0.0/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20221106-46436-a98sx9 sitelibdir\=./.gem.20221106-46436-a98sx9
compiling binder.cpp
In file included from binder.cpp:20:
./project.h:119:10: fatal error: 'openssl/ssl.h' file not found
#include <openssl/ssl.h>
         ^~~~~~~~~~~~~~~
1 error generated.
make: *** [binder.o] Error 1

make failed, exit code 2

我使用的是 MacOS Ventura 13.0.

  • openssl version
    返回
    LibreSSL 3.3.6

  • jekyll -v
    返回
    can't find gem jekyll (>= 0.a) with executable jekyll (Gem::GemNotFoundException)
    (显然)

  • ruby -v
    返回
    ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin22]

  • gem -v
    返回
    3.3.25

  • bundle -v
    返回
    Bundler version 2.3.25

  • rvm list
    返回
    =* ruby-3.0.0 [ x86_64 ]

  • gem list
    回报

rubygems-bundler (1.4.5)
rubygems-update (3.3.25, 3.0.0)
rvm (1.11.3.9)

...等等。没有列出 Ruby 版本。

我尝试了

brew link --force openssl
,这样我就可以运行
gem install event machine
(带有标志),但是
brew link --force openssl
返回

If you need to have openssl@3 first in your PATH, run:
  echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> ~/.zshrc

我运行了那个命令,重新运行了

brew link --force openssl
,它返回了同样的错误。

我该怎么办? 谢谢你的帮助。

ruby openssl rubygems jekyll bundle
1个回答
2
投票

我在安装 Jekyll 的 M1 Mac 上遇到了类似的 eventmachine 问题。

这是受 Stackoverflow 的启发,但运行

brew link --force openssl
并没有解决我的问题。

我可以按如下方式解决这些 Openssl 问题:

  1. 运行
    brew --prefix openssl
    检查openSSL路径。 (什么回来了?)
  2. 奔跑
    bundle config build.eventmachine --with-openssl-dir=$(brew --prefix openssl)
    .
    注意:在一台计算机上,我必须运行
    bundle config build.eventmachine --with-cppflags=-I$(brew --prefix openssl)/include
    .
  3. 奔跑
    bundle

另请参阅GitHub 讨论,您是否尝试运行

brew list openssl
以查看是否安装了不同的 openSSL 版本?

© www.soinside.com 2019 - 2024. All rights reserved.