Ruby gem list google-auth は gem をリストしますが、google-auth がファイルを見つけることができない gem

概要

Google Gemini によると、gem googleauth は OOB セキュリティの問題により非推奨となり、コードは gem google-auth に転送されました。 Ruby 2.7.0p0 (2019-12-25 リビジョン 647ee6f091) [x86_64-linux-gnu] を使用しています。

gem list google-auth を実行すると google-auth (0.0.2) が返されますが、google-auth が返す gem が Ruby ライブラリ ファイルまたは共有ライブラリ google-auth が見つかりません。

gem env を実行すると、次のようになります

- /var/lib/gems/2.7.0
- /home/markhorrocks/.gem/ruby/2.7.0
- /usr/lib/ruby/gems/2.7.0
- /usr/share/rubygems-integration/2.7.0
- /usr/share/rubygems-integration/all
- /usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0

これらのディレクトリを確認しています:-

/var/lib/gems/2.7.0/gems には、必要なファイル google-auth-0.0.2 が含まれています

/usr/lib/ruby/gems/2.7.0/gems にはファイルが含まれていません

/usr/share/rubygems-integration/2.7.0 が存在しません

/usr/share/rubygems-integration/all/gems にはファイルが含まれていません。

/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 が存在しません

gem パスでサブディレクトリ gems が指定されないのはなぜですか。また、google-auth で /var/lib/gems/2.7.0/gems にリストされている gem が見つからないのはなぜですか?

この最小限のテスト スクリプト

#! /usr/bin/ruby
require 'google/auth'
puts Google::Auth::VERSION

‘require’ を返します: そのようなファイルは読み込めません – google/auth (LoadError)。

これを修正するにはどうすればよいですか?

解決策

Google Gemini は明らかに幻覚を見ています。

利用可能なバージョンは 1 つだけであり、そのバージョンは 12 年以上前にリリースされているため、google-auth gem は明らかに googleauth gem の後継ではありません。

googleauth は現在も開発が活発に行われており、最新バージョンはわずか数週間前にリリースされました。

googleauth gem のドキュメントには、Google Auth OOB フローが 2023 年 1 月 31 日に廃止されたことが確かに記載されています。OOB フローは安全とは見なされなくなったレガシー フローであるためです。

ただし、別の gem を使用する必要があるという意味ではありません。Google Auth の使用を継続するには、別のより安全なフローに移行するだけで済みます。これを行う方法の詳細については、この OOB 移行ガイドを参照してください。

Google は、影響を受けるかどうか、どのようなオプションがあるのか、および移行方法を説明するドキュメントを提供しています。