Techioz Blog

そのようなファイルはロードできません - Ruby gkms プラグイン

概要

私のプロジェクトの 1 つでファイルを暗号化するために gmks プラグインを使用しようとしています。しかし、何をしても、次のエラーが発生します。

/Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require': cannot load such file -- hiera/backend/eyaml/encryptors/gkms (LoadError)
    from /Library/Ruby/Site/2.6.0/rubygems/core_ext/kernel_require.rb:85:in `require'
    from /Users/user/.gem/ruby/2.6.0/gems/hiera-eyaml-3.4.0/lib/hiera/backend/eyaml/encryptor.rb:17:in `find'
    from /Users/user/.gem/ruby/2.6.0/gems/hiera-eyaml-3.4.0/lib/hiera/backend/eyaml/subcommands/encrypt.rb:79:in `execute'
    from /Users/user/.gem/ruby/2.6.0/gems/hiera-eyaml-3.4.0/lib/hiera/backend/eyaml/CLI.rb:46:in `execute'
    from /Users/user/.gem/ruby/2.6.0/gems/hiera-eyaml-3.4.0/bin/eyaml:21:in `<top (required)>'
    from /Users/user/.gem/ruby/2.6.0/bin/eyaml:25:in `load'
    from /Users/user/.gem/ruby/2.6.0/bin/eyaml:25:in `<main>'

今、私はプラグインとhiera-eyaml、さらにはRubyを再インストールしようとしました。

❯ eyaml version
[hiera-eyaml-core] hiera-eyaml (core): 3.4.0
❯ ruby -v
ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin22]

すべてを /Users/itayayuuicularu/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/bin:/Users/itayayuuicularu/.rbenv/versions/3.3.1/bin:/usr/ に追加しました。 local/Cellar/rbenv/1.2.0/libexec:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33854_1716205101510/bin:/Users/itayayuuicularu/Library/Application Support/fnm:/opt/homebrew/opt/openssl@3/ bin:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33805_1716205101477/bin:/Users/itayayuuicularu/.rbenv/shims:/Users/itayayuuicularu/.nodebrew/current/bin:/usr/local/opt/php@7.4/ sbin:/usr/local/opt/php@7.4/bin:/usr/local/opt/libxml2/bin:/Users/itayayuuicularu/.phpenv/shims:/opt/homebrew/opt/tidy-html5/lib:/ opt/homebrew/opt/icu4c/bin:/opt/homebrew/opt/openssl@1.1/bin:/opt/homebrew/opt/krb5/bin:/opt/homebrew/opt/libiconv/bin:/opt/homebrew/ opt/curl/bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/opt/libxml2/bin:/opt/homebrew/opt/bison/bin:/Users/itayayuuicularu/.phpenv/bin:/ Users/itayayuuofficial/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security .cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd /codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/itayayuuicularu/.fzf/bin:/Users/itayayuuicularu/Documents/SDKs/flutter/bin。

gem は gem lib で入手できます

❯ gem list

*** LOCAL GEMS ***

abbrev (default: 0.1.2)
addressable (2.8.6)
...
getoptlong (default: 0.2.1)
google-cloud-core (1.6.1)
google-cloud-env (2.1.0)
google-cloud-errors (1.3.1)
google-cloud-kms (2.0.0)
google-cloud-kms-v1 (0.24.1)
google-cloud-location (0.7.0)
google-iam-v1 (0.7.1)
google-protobuf (3.25.2)
googleapis-common-protos (1.4.0)
googleapis-common-protos-types (1.11.0)
googleauth (1.9.1)
grpc (1.60.0)
grpc-google-iam-v1 (1.5.0)
hiera-eyaml (3.4.0)
hiera-eyaml-gkms (0.2.0)
highline (3.0.0)
io-console (default: 0.7.1)
io-nonblock (default: 0.3.0)
...

私がやったことを要約すると、次のようになります。

gem を再インストールしました (別のバージョン、つまり hiera-eyaml-gkms-0.2.40 も試しました)。 ローカル gem ライブラリを更新しました (gem update –system)。 Rubyを再インストールしました /Users/itayayuuicularu/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/bin:/Users/itayayuuicularu/.rbenv/versions/3.3.1/bin:/usr/local/Cellar/ を更新しましたrbenv/1.2.0/libexec:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33854_1716205101510/bin:/Users/itayayuuicularu/Library/Application Support/fnm:/opt/homebrew/opt/openssl@3/bin:/Users /itayayuuichirou/Library/Caches/fnm_multishells/33805_1716205101477/bin:/Users/itayayuuicularu/.rbenv/shims:/Users/itayayuuicularu/.nodebrew/current/bin:/usr/local/opt/php@7.4/sbin:/usr /local/opt/php@7.4/bin:/usr/local/opt/libxml2/bin:/Users/itayayuuicularu/.phpenv/shims:/opt/homebrew/opt/tidy-html5/lib:/opt/homebrew/ opt/icu4c/bin:/opt/homebrew/opt/openssl@1.1/bin:/opt/homebrew/opt/krb5/bin:/opt/homebrew/opt/libiconv/bin:/opt/homebrew/opt/curl/ bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/opt/libxml2/bin:/opt/homebrew/opt/bison/bin:/Users/itayayuuichirou/.phpenv/bin:/Users/itayayuuofficial/ bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex .system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system /bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/itayayuuicularu/.fzf/bin:/Users/itayayuuofficial/Documents/SDKs/flutter/bin

++ また、言及する価値があるかもしれません: Apple M1 Pro の開発

編集:

/Users/itayayuuicularu/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/bin:/Users/itayayuuicularu/.rbenv/versions/3.3.1/bin:/usr/local/Cellar/ rbenv/1.2.0/libexec:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33854_1716205101510/bin:/Users/itayayuuicularu/Library/Application Support/fnm:/opt/homebrew/opt/openssl@3/bin:/Users /itayayuuichirou/Library/Caches/fnm_multishells/33805_1716205101477/bin:/Users/itayayuuicularu/.rbenv/shims:/Users/itayayuuicularu/.nodebrew/current/bin:/usr/local/opt/php@7.4/sbin:/usr /local/opt/php@7.4/bin:/usr/local/opt/libxml2/bin:/Users/itayayuuicularu/.phpenv/shims:/opt/homebrew/opt/tidy-html5/lib:/opt/homebrew/ opt/icu4c/bin:/opt/homebrew/opt/openssl@1.1/bin:/opt/homebrew/opt/krb5/bin:/opt/homebrew/opt/libiconv/bin:/opt/homebrew/opt/curl/ bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/opt/libxml2/bin:/opt/homebrew/opt/bison/bin:/Users/itayayuuichirou/.phpenv/bin:/Users/itayayuuofficial/ bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex .system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system私のコンピューター上の /bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/itayayuuicularu/.fzf/bin:/Users/itayayuuicularu/Documents/SDKs/flutter/bin:

export PATH="/opt/homebrew/opt/ruby/bin:/opt/homebrew/lib/ruby/gems/3.1.0/bin:$PATH" 

ショー

irb(main):001> puts $LOAD_PATH
/opt/homebrew/lib/ruby/site_ruby/3.3.0
/opt/homebrew/lib/ruby/site_ruby/3.3.0/arm64-darwin22
/opt/homebrew/lib/ruby/site_ruby
/opt/homebrew/lib/ruby/vendor_ruby/3.3.0
/opt/homebrew/lib/ruby/vendor_ruby/3.3.0/arm64-darwin22
/opt/homebrew/lib/ruby/vendor_ruby
/opt/homebrew/Cellar/ruby/3.3.0/lib/ruby/3.3.0
/opt/homebrew/Cellar/ruby/3.3.0/lib/ruby/3.3.0/arm64-darwin22

解決策

なんとか問題を見つけることができました。 /Users/itayayuuicularu/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/bin:/Users/itayayuuicularu/.rbenv/versions/3.3.1/bin:/ にバージョンの不一致がありました。 usr/local/Cellar/rbenv/1.2.0/libexec:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33854_1716205101510/bin:/Users/itayayuuicularu/Library/Application Support/fnm:/opt/homebrew/opt/openssl@ 3/bin:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33805_1716205101477/bin:/Users/itayayuuicularu/.rbenv/shims:/Users/itayayuuicularu/.nodebrew/current/bin:/usr/local/opt/php@ 7.4/sbin:/usr/local/opt/php@7.4/bin:/usr/local/opt/libxml2/bin:/Users/itayayuuichirou/.phpenv/shims:/opt/homebrew/opt/tidy-html5/lib :/opt/homebrew/opt/icu4c/bin:/opt/homebrew/opt/openssl@1.1/bin:/opt/homebrew/opt/krb5/bin:/opt/homebrew/opt/libiconv/bin:/opt/ homebrew/opt/curl/bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/opt/libxml2/bin:/opt/homebrew/opt/bison/bin:/Users/itayayuuicularu/.phpenv/bin :/Users/itayayuuicularu/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple .security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security .cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/itayayuuicularu/.fzf/bin:/Users/itayayuuicularu/Documents/SDKs/flutter/bin 変数。