Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 通过Chef安装RVM/Ruby 1.9.3_Amazon Web Services_Amazon Ec2_Chef Infra_Ruby 1.9.3 - Fatal编程技术网

Amazon web services 通过Chef安装RVM/Ruby 1.9.3

Amazon web services 通过Chef安装RVM/Ruby 1.9.3,amazon-web-services,amazon-ec2,chef-infra,ruby-1.9.3,Amazon Web Services,Amazon Ec2,Chef Infra,Ruby 1.9.3,我刚刚开始尝试将我的基础设施转移到Chef,我想我肯定错过了一些明显的东西 我正在使用cookbook安装RVM,我希望它安装Ruby 1.9.3p125并将其设置为默认值 以下是我的基本服务器角色: name "base" description "Basic configuration for all nodes" run_list( 'recipe[git]', 'recipe[sudo]', 'recipe[ubuntu]', 'recipe[rvm]', 'reci

我刚刚开始尝试将我的基础设施转移到Chef,我想我肯定错过了一些明显的东西

我正在使用cookbook安装RVM,我希望它安装Ruby 1.9.3p125并将其设置为默认值

以下是我的基本服务器角色:

name "base"
description "Basic configuration for all nodes"
run_list(
  'recipe[git]',
  'recipe[sudo]',
  'recipe[ubuntu]',
  'recipe[rvm]',
  'recipe[postgresql::client]'
)

override_attributes(
  :authorization => {
    :sudo => {
      :users => ["ubuntu"],
      :passwordless => true
    }
  },
  :rvm => {
    :rubies => ["ruby-1.9.3-p125"],
    :default_ruby => "ruby-1.9.3-p125",
    :global_gems => ['bundler', 'rake']
  }
)
这运行起来没有任何问题,但是如果我在完成后ssh到服务器中,rvm不会列出任何已安装的rubies:

ubuntu@test.server:~$ rvm list

rvm rubies


# No rvm rubies installed yet. Try 'rvm help install'.

这甚至是指定安装某些rubies的正确方法吗?如果没有,正确的方法是什么?如果是这样,我做错了什么?

您的代码没有问题。问题在于,您从未告诉厨师安装您在角色中定义的红宝石

您已将
recipe[rvm]
包含在角色的
run\u列表中,该列表转换为
recipe[rvm::default]
。查看食谱的文档,您会发现以下食谱:

安装RVM gem并初始化Chef以使用轻量级资源和提供程序(LWRP)如果您只想访问所提供的LWRP,请明确使用此配方。

run\u列表中用
recipe[rvm]
替换
recipe[rvm::system]
可以达到您想要的效果:

在系统范围内安装RVM代码库(即,安装到/usr/local/RVM中),并安装红宝石、全局宝石和由属性元数据驱动的特定宝石。此配方包括默认和系统安装。
如果您想在RVM系统范围内安装Rubies等,请自行使用此配方。

您的代码没有问题。问题在于,您从未告诉厨师安装您在角色中定义的红宝石

您已将
recipe[rvm]
包含在角色的
run\u列表中,该列表转换为
recipe[rvm::default]
。查看食谱的文档,您会发现以下食谱:

安装RVM gem并初始化Chef以使用轻量级资源和提供程序(LWRP)如果您只想访问所提供的LWRP,请明确使用此配方。

run\u列表中用
recipe[rvm]
替换
recipe[rvm::system]
可以达到您想要的效果:

在系统范围内安装RVM代码库(即,安装到/usr/local/RVM中),并安装红宝石、全局宝石和由属性元数据驱动的特定宝石。此配方包括默认和系统安装。 如果您希望RVM系统范围内安装红宝石等,请自行使用此配方。