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