私は少なくとも1週間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を再インストールしました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
。