我正在尝试在 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
,它返回了同样的错误。
我该怎么办? 谢谢你的帮助。
我在安装 Jekyll 的 M1 Mac 上遇到了类似的 eventmachine 问题。
这是受 Stackoverflow 的启发,但运行
brew link --force openssl
并没有解决我的问题。
我可以按如下方式解决这些 Openssl 问题:
brew --prefix openssl
检查openSSL路径。 (什么回来了?)bundle config build.eventmachine --with-openssl-dir=$(brew --prefix openssl)
.bundle config build.eventmachine --with-cppflags=-I$(brew --prefix openssl)/include
.bundle
另请参阅GitHub 讨论,您是否尝试运行
brew list openssl
以查看是否安装了不同的 openSSL 版本?