我正在尝试安装jekyll,但我遇到了一个错误.我正在运行Mac OS X 10.11.4(El Capitan).
$gem install jekyll
ERROR : While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
$gem source -l
https://ruby.taobao.org
$which openssl
/usr/local/bin/openssl
Run Code Online (Sandbox Code Playgroud)
我欢迎您提出如何解决此错误的建议.
Mee*_*ohi 146
较新版本的OSX弃用了openSSL,导致许多依赖项被破坏.您需要重新安装ruby,但要准确指定openSSL库的位置.如果你正在使用rvm那么看起来像:
rvm reinstall 2.3.0 --with-openssl-dir=/usr/local/opt/openssl
Run Code Online (Sandbox Code Playgroud)
如果您使用自制软件,那么快速访问库的位置是:
brew install openssl
rvm reinstall 2.3.0 --with-openssl-dir=`brew --prefix openssl`
Run Code Online (Sandbox Code Playgroud)
Sur*_*yaa 31
在终端(OSX)中键入所有这些命令只是为了确保您已完成所有操作:
rvm get stable
brew update
brew doctor
brew install openssl
rvm install ruby-2.4 (or whatever version)
rvm use ruby-2.4 (or whatever version)
rvm gemset create jekyll
gem install jekyll
Run Code Online (Sandbox Code Playgroud)
最后,在安装Jekyll(或其他宝石)之前,在编译Ruby之前需要安装OpenSSL!
较新版本的OSX弃用了openSSL.
你需要重新安装Ruby!
rvm reinstall 2.3.0 --with-openssl-dir=/usr/local/opt/openssl
Run Code Online (Sandbox Code Playgroud)
rvm get stable
rvm reinstall ruby-2.3.0
Run Code Online (Sandbox Code Playgroud)
brew install openssl
rvm reinstall 2.3.0 --with-openssl-dir=`brew --prefix openssl`
Run Code Online (Sandbox Code Playgroud)
小智 9
你只需要设置这个env变量,这样你的编译器就有了openssl libs的正确路径(如果在macOS上使用Homebrew,试着brew info openssl看看这个信息):
$ export LDFLAGS=-L/usr/local/opt/openssl/lib
$ export CPPFLAGS=-I/usr/local/opt/openssl/include
# For pkg-config to find this software you may need to set:
$ export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig
Run Code Online (Sandbox Code Playgroud)
然后重新安装你的ruby(rvm reinstall ruby-version)
适用于 ubuntu 22.04。Ruby 无法使用 openssl v3 进行编译。如果你使用brew安装的话,这就是openssl。做这个:
brew install openssl@1.1
rvm install 3.0.2 --with-openssl-dir=`brew --prefix openssl@1.1`
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30569 次 |
| 最近记录: |