programing

openssl을 요구하거나 OpenSSL을 설치하고 ruby ​​(권장)를 다시 빌드하거나 HTTPS가 아닌 소스를 사용할 수 없습니다.

copyandpastes 2021. 1. 16. 10:59
반응형

openssl을 요구하거나 OpenSSL을 설치하고 ruby ​​(권장)를 다시 빌드하거나 HTTPS가 아닌 소스를 사용할 수 없습니다.


설치하려고하는데 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

이 오류를 해결하는 방법에 대한 귀하의 제안을 환영합니다.


최신 버전의 OSX는 openSSL을 더 이상 사용하지 않아 많은 종속성이 깨졌습니다. Ruby를 다시 설치해야하지만 openSSL 라이브러리가있는 위치를 정확히 지정해야합니다. 사용하는 경우 rvm다음과 같이 보입니다.

rvm reinstall 2.3.0 --with-openssl-dir=/usr/local/opt/openssl

homebrew를 사용하는 경우 라이브러리 위치에 대한 빠른 바로 가기는 다음과 같습니다.

brew install openssl
rvm reinstall 2.3.0 --with-openssl-dir=`brew --prefix openssl`

방법 1 (OpenSSL 설치)

터미널 (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

마지막으로, Jekyll (또는 다른 gem)을 설치하기 전에 Ruby를 컴파일하기 전에 OpenSSL을 설치해야합니다!

방법 2 (Ruby 재설치)

최신 버전의 OSX는 openSSL을 사용하지 않습니다.

Ruby를 다시 설치해야합니다!

OpenSSL을 사용하는 RVM

rvm reinstall 2.3.0 --with-openssl-dir=/usr/local/opt/openssl

최신 RVM 버전 사용

rvm get stable
rvm reinstall ruby-2.3.0

homebrew 및 OpenSSL

brew install openssl
rvm reinstall 2.3.0 --with-openssl-dir=`brew --prefix openssl`

컴파일러가 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

그런 다음 루비 ( rvm reinstall ruby-version)를 다시 설치하십시오.


brew install openssl

brew info openssl # do the suggested options
$ 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

rvm reinstall <version> --with-openssl-dir=`brew --prefix openssl`

openssl과 관련된 다른 답변을 고려하면 다음과 같이 일부 경우 수퍼 유저로 실행하려고 할 때 동일한 오류를 볼 수 있습니다.

filipe@FILIPE:~$ sudo gem install bundler 
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources

수퍼 유저 권한이 없으면 다음과 같이 다른 동작, 성공적인 동작을 볼 수 있습니다.

filipe@FILIPE:~$  gem install bundler 
Fetching: bundler-1.14.6.gem (100%)
Successfully installed bundler-1.14.6
Parsing documentation for bundler-1.14.6
Installing ri documentation for bundler-1.14.6
Done installing documentation for bundler after 4 seconds
1 gem installed

참조 URL : https://stackoverflow.com/questions/37336573/unable-to-require-openssl-install-openssl-and-rebuild-ruby-preferred-or-use-n

반응형