无法加载此类文件 - Ruby gkms 插件

问题描述 投票:0回答: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]

我已将所有内容添加到 $PATH 中。

宝石可在宝石库中找到

❯ 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)
...

总结一下我所做的:

重新安装了 gems(也尝试了不同的版本,即 hiera-eyaml-gkms-0.2.40)。 更新了本地gem库(gem update --system)。 重新安装红宝石 更新了$PATH

++ 也许还值得一提:在 Apple M1 Pro 上工作

编辑:

我的计算机上的 $PATH:

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

$LOAD_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
ruby rubygems hiera google-cloud-kms
1个回答
0
投票

我设法找到了问题。 $PATH 变量中存在版本不匹配。

© www.soinside.com 2019 - 2024. All rights reserved.