ruby – 亚马逊OpsWorks定制食谱RVM

ruby – 亚马逊OpsWorks定制食谱RVM,第1张

概述我正在尝试使用以下食谱 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 我正在尝试使用以下食谱 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'
/opt/aws/opsworks/current/site-cookbooks/rvm/recipes/default.rb:29:in
from_file’

提出异常的代码是:

chef_gem 'rvm' doaction :installversion '>= 1.11.3.6'endruby_block "require rvm" do    block do        require 'rvm'        create_rvm_shell_chef_wrapper        create_rvm_chef_user_environment     end     action :createend

收到错误后,我使用ssh登录了实例,并检查是否安装了rvm gem.我看不到在* LOCAL GEMS *下列出的rvm.

然后我用gem_package替换了方法chef_gem,但仍然遇到了同样的错误.但是这次我检查了宝石列表rvm被列出了.

有帮助吗?提前致谢.

解决方法 这里突出显示的问题是: https://forums.aws.amazon.com/thread.jspa?threadID=118646

OpsWorks的主厨实施受亚马逊的限制.当chef在节点上运行时,它实际上是通过bundle运行的.由于rvm cookbook正在将新的gem(rvm)安装到系统中并且正在尝试使用它,因此它失败了,因为rvm gem还不是bundle的一部分(在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'  endend

如果这对您有用,请告诉我!

总结

以上是内存溢出为你收集整理的ruby – 亚马逊OpsWorks定制食谱RVM全部内容,希望文章能够帮你解决ruby – 亚马逊OpsWorks定制食谱RVM所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1279982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存