나는 적어도 일주일 동안 gem을 사용하여 내 Raspberry PI에 Bettercap을 설치하려고 노력했지만 다음을 입력할 때마다 다음을 입력합니다.
sudo gem install bettercap
다음과 같은 오류 메시지가 나타납니다.
ERROR: While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
다른 사람들에게 제안된 모든 수정 사항은 결과를 얻지 못했습니다.
옵션 1: "http 옵션"
답변에 따르면필리포 데 보르톨리존재하다이 스레드동일한 문제의 경우 https 프로토콜을 비활성화하면 문제가 해결될 수 있습니다. 그러나 다음 명령을 실행한 후:
gem source -r https://rubygems.org/
gem source -a http://rubygems.org/
여전히 다음 오류가 발생합니다.
ERROR: While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
옵션 2: 재구축
제안대로필리포 데 보르톨리내부에같은 스레드OpenSSL을 설치한 후 Ruby를 다시 설치했는데 내 Raspbian이 OpenSSL과 함께 제공되었고 실행해보니 sudo apt-get install openssl
최신 버전이라는 것만 확인되었습니다. 저는 이것을 얻기 시작한 이후로 Ruby를 3번이나 다시 빌드했습니다.
옵션 3: 로컬로 설치
gem을 로컬에 설치할 수 있다는 사실을 확인한 후 소스 코드를 설치하고 실행했습니다.
sudo gem install --local bettercap-1.6.2b.gem
출력을 얻습니다.
ERROR: Could not find a valid gem 'em-proxy' (>= 0.1.8, ~> 0.1) in any repository
나는 단지 로컬 디스크를 검색하고 있었기 때문에 필요한 종속성을 찾을 수 없다고 추측했습니다. 그래서 "em-proxy"를 로컬에 설치하여 필요한 종속성을 찾기로 결정했습니다. 여기에는 종속성도 필요했습니다. 엄청난. 그래서 제 정신을 위해 버리기로 결정했지만 전반적으로 비실용적이었습니다.
결론적으로,이 오류를 제거하거나 최소한 우회하려면 어떻게 해야 합니까?
궁금하신 경우를 대비해 결과는 다음과 같습니다 gem -v
.
2.4.5
출력 ruby -v
:
ruby 2.2.2p95 (2015-04-13 revision 50295) [armv6l-linux-eabihf]
답변1
Debian/Ubuntu의 소스에서 Ruby 2.3.6을 컴파일할 때도 이 문제가 발생했습니다. 전체 지침과 같이 pkg-config
추가로 설치하여 문제 를 해결했습니다.libssl-dev
$ sudo apt install \ make \ gcc \ pkg-config \ libssl1.0-dev \ libreadline-dev \ libgdbm-dev \ zlib1g-dev \ libyaml-dev \ libffi-dev \ libgmp-dev \ openssl $ ./configure --disable-install-rdoc $ make -j2 $ sudo make install
이 libssl-dev
패키지는 호환되지 않습니다 ruby2.3
(참조:https://github.com/rvm/rvm/issues/3862#issuecomment-277512130) 따라서 Debian/Stretch 또는 Ubuntu/Xenial에서는 libssl1.0-dev
.