- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试使用以下说明书 https://github.com/fnichol/chef-rvm 通过 Amazon OpsWorks 安装 RVM .我希望 rvm 在用户 tomcat6 下运行,所以我包含了具有正确属性的配方 rvm::user。
我得到的错误是:
Wed, 06 Mar 2013 20:05:05 +0000 ERROR: Running exception handlers Wed, 06 Mar 2013 20:05:05 +0000 ERROR: Exception handlers complete Wed, 06 Mar 2013 20:05:05 +0000 DEBUG: Re-raising exception: LoadError - no such file to load -- rvm /opt/aws/opsworks/current/site-cookbooks/rvm/recipes/default.rb:29:in
require'
from_file'
/opt/aws/opsworks/current/site-cookbooks/rvm/recipes/default.rb:29:in
引发异常的代码是:
chef_gem 'rvm' do
action :install
version '>= 1.11.3.6'
end
ruby_block "require rvm" do
block do
require 'rvm'
create_rvm_shell_chef_wrapper
create_rvm_chef_user_environment
end
action :create
end
出现错误后,我使用 ssh 登录实例并检查是否安装了 rvm gem。我看不到 * LOCAL GEMS * 下列出的 rvm。
然后我将 chef_gem 方法替换为 gem_package,但仍然出现相同的错误。但是这次当我检查 gem list rvm 时列出了。
有什么帮助吗?提前致谢。
最佳答案
此处突出显示问题:https://forums.aws.amazon.com/thread.jspa?threadID=118646
OpsWorks 的 Chef 实现受到 Amazon 的相当大的限制。当 chef 在节点上运行时,它实际上是通过 bundle 运行的。由于 rvm cookbook 正在系统中安装一个新的 gem (rvm) 并试图使用它,它失败了,因为 rvm gem already 不是包的一部分(在 Gemfile 中列出) .
在撰写本文时,当前的解决方法是 opsworks 已经实现了一种方法来支持自定义 gem 的使用。
我已经能够更新您提到的行:
if defined?(OpsWorks) && defined?(OpsWorks::InternalGems)
OpsWorks::InternalGems.internal_gem_package('rvm', :version => node['rvm']['chef_internal_rvm_gem_version'])
else
chef_gem 'rvm' do
action :install
version '>= 1.11.3.6'
end
end
让我知道这是否适合您!
关于ruby - Amazon OpsWorks 自定义说明书 RVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15420155/
我正在尝试使用 Chef Supermarket 中最新版本的 mysql cookbook: https://supermarket.chef.io/cookbooks/mysql (8.3.1)
我是一名优秀的程序员,十分优秀!