Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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
指定Chef要使用的Ruby版本_Ruby_Chef Infra - Fatal编程技术网

指定Chef要使用的Ruby版本

指定Chef要使用的Ruby版本,ruby,chef-infra,Ruby,Chef Infra,我对Chef和Ruby都是新手,我只想用Chef solo将一个简单的文本文件从机器a复制到机器B 我的默认.rb文件是: require 'rubygems' require 'net/scp' hostname = '142.138.0.147' username = 'someone' password = 'someone123' Net::SCP.start( hostname, username, :password => password ) do|scp| puts

我对Chef和Ruby都是新手,我只想用Chef solo将一个简单的文本文件从机器a复制到机器B

我的默认.rb文件是:

require 'rubygems'
require 'net/scp'

hostname = '142.138.0.147'
username = 'someone'
password = 'someone123'

Net::SCP.start( hostname, username, :password => password ) do|scp|
  puts 'SCP Started!'
  scp.download('/home/someone/file.txt', '.')
end
但在运行时,我会出现以下错误:

致命:LoadError:没有要加载的文件--net/scp


这是因为Chef使用的是嵌入式Ruby版本,而不是我安装的版本;如何告诉Chef使用哪个Ruby版本?

我不知道“嵌入式”是什么意思,但您需要在执行Chef配方的系统上安装正确的Ruby版本


如果你想了解如何处理厨师,你可以看看railscast关于厨师独奏的一集:

我的目录结构是1)厨师工作区我的目录结构是1)厨师工作区2)你好3a)配置3b)烹饪书4b)你好世界5b)食谱;配置目录包含两个文件1。config.rb和2。node.json;在recipes中有一个default.rb文件。当我以普通ruby文件的形式执行default.rb时。。i、 e.$ruby default.rb它可以正常工作。。但当我运行chef solo时,会出现错误。。。这意味着它正在使用随附的ruby。。i、 切夫特的ruby在chef中没有内置ruby!嘿,问题是在我运行一些命令后,它正在工作,它安装了一些东西,不知道是什么。嘿,我是厨师的新手,目前正在为厨师独奏工作。。。我对ruby没有问题。。我擅长逻辑,你能给我一些关于独奏厨师的在线资源吗。谢谢:)@phoet Opscode现在将Chef作为支持平台的完整堆栈安装程序包分发,其中包括自己的Ruby。rubygem和apt软件包也可用,但全栈软件包是最好的安装方式。您的系统使用RVM还是RBEnv?您是否安装了多个ruby软件包?是否找到解决此问题的方法?请不要忘记将答案标记为正确!:)