インストールしたばかりなのに、Google protobuf gemが見つかりません
概要
まず第一に、私はシステム Ruby を使用していません。Mac OS 上のシステム Ruby には多くの問題があるため、新しくインストールしたシステム Ruby を使用しています。どのルビーとどの宝石が同じルビーを使用しているかを示します
Jekyllserve を実行しようとしていますが、バンドルで Google protobuf が見つかりません。 Bundle install と gem install google-protobuf を試しましたが、何も機能しません。ターミナルの出力は次のようになります。
username@MBP repo % gem install google-protobuf
Building native extensions. This could take a while...
Successfully installed google-protobuf-3.25.2
Parsing documentation for google-protobuf-3.25.2
Done installing documentation for google-protobuf after 0 seconds
1 gem installed
username@MBP repo % bundle info google-protobuf-3.25.2
Could not find gem 'google-protobuf-3.25.2'.
username@MBP repo % bundle exec jekyll serve
Could not find google-protobuf-3.25.2 in locally installed gems
Run `bundle install` to install missing gems.
username@MBP repo % jekyll server
Ignoring google-protobuf-3.25.2 because its extensions are not built. Try: gem pristine google-protobuf --version 3.25.2
Ignoring google-protobuf-3.25.2 because its extensions are not built. Try: gem pristine google-protobuf --version 3.25.2
/Users/jakobimuller/.gem/ruby/3.1.3/gems/bundler-2.5.3/lib/bundler/definition.rb:570:in `materialize': Could not find google-protobuf-3.25.2 in locally installed gems (Bundler::GemNotFound)
from /Users/jakobimuller/.gem/ruby/3.1.3/gems/bundler-2.5.3/lib/bundler/definition.rb:203:in `specs'
from /Users/jakobimuller/.gem/ruby/3.1.3/gems/bundler-2.5.3/lib/bundler/definition.rb:270:in `specs_for'
from /Users/jakobimuller/.gem/ruby/3.1.3/gems/bundler-2.5.3/lib/bundler/runtime.rb:18:in `setup'
from /Users/jakobimuller/.gem/ruby/3.1.3/gems/bundler-2.5.3/lib/bundler.rb:162:in `setup'
from /Users/jakobimuller/.gem/ruby/3.1.3/gems/jekyll-4.3.3/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
from /Users/jakobimuller/.gem/ruby/3.1.3/gems/jekyll-4.3.3/exe/jekyll:11:in `<top (required)>'
from /Users/jakobimuller/.gem/ruby/3.1.3/bin/jekyll:25:in `load'
from /Users/jakobimuller/.gem/ruby/3.1.3/bin/jekyll:25:in `<main>'
スクリプト、バンドルインストール、ジェムインストールを使用してインストールしようとしましたが、どれも適切にインストールされず、Jekyllserveを実行できなくなりました。
解決策
gem ‘google-protobuf’ を Gemfile に追加し、バンドル インストールを実行します。バンドルを使用してコマンドを実行すると、プロジェクトの Gemfile で指定された gem のみが使用されます。