首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EC2:厨师食谱: LoadError:无法加载这样的文件-- aws-sdk-secretsmanager

EC2:厨师食谱: LoadError:无法加载这样的文件-- aws-sdk-secretsmanager
EN

Stack Overflow用户
提问于 2021-04-15 22:18:46
回答 2查看 270关注 0票数 0

我已经在ec2实例中使用gem install安装了aws-sdk-secretsmanager gem,我可以看到gem是可用的,在我的食谱中我编写了require 'aws-sdk-secretsmanager',但它由于编译错误而失败。

版本:

代码语言:javascript
复制
chef_version=16.2.73
platform=redhat7.9

命令:

代码语言:javascript
复制
gem install aws-sdk-secretsmanager

食谱:

代码语言:javascript
复制
require aws-sdk-secretsmanager

错误:

代码语言:javascript
复制
ERROR: Exception handlers complete
Chef Infra Client failed. 2 resources updated in 10 seconds
Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
Please provide the contents of the stacktrace.out file if you file a bug report
FATAL: LoadError: cannot load such file -- aws-sdk-secretsmanager

有人能帮我解决这个问题吗?谢谢

EN

回答 2

Stack Overflow用户

发布于 2021-04-16 00:04:17

我将添加这个作为答案,尽管在厨师食谱中执行require的目的并不明确。

Chef维护自己的嵌入式Ruby (和Gems),并且独立于系统范围的Ruby安装。因此,系统Ruby安装的Gems不能用于Chef使用的embedded Ruby。

它通常安装在:

代码语言:javascript
复制
/opt/chef/embedded/

因此,gem list将不同于/opt/chef/embedded/bin/gem list

因此,我的第一个建议是使用嵌入式二进制文件安装Chef所需的Gems。

编写纯Ruby代码,如require 'aws-sdk-secretsmanager' inside recipes不是一种标准做法。食谱应该包含Chef resource声明。如果配方依赖于gem,那么可以使用chef_gem资源安装它。

代码语言:javascript
复制
chef_gem 'aws-sdk-secretsmanager'
票数 0
EN

Stack Overflow用户

发布于 2021-04-20 00:02:56

使用chef_gem chef资源安装aws-sdk-secretsmanager gem,使所需的Gem文件在Chef run编译期间可用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67110241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档