2

在过去的几周里,我不得不重新安装我的整个工作环境几次,这可能需要一段时间,所以现在我有了一个雄心勃勃的想法,使用 vagrant 和 librarian-chef 来创建我的工作环境,这样我所要做的就是运行一个 bash 脚本和中提琴我在。

所以我第一次这样做是独自流浪,我进去做了所有事情并打包了它,它只用了一段时间就很棒.. 包裹是 600mb 所以下一个想法是让厨师来做这一切。但我之前从未与厨师合作过,所以我基本上找到了图书管理员厨师librarian-chef init,它制作了一个厨师文件,你可以指定我的食谱看起来像这样

site 'http://community.opscode.com/api/v1'

cookbook 'apt'
cookbook 'git'
cookbook 'build-essential'
cookbook 'ruby_build',
  git: 'git://github.com/fnichol/chef-ruby_build'
cookbook 'rbenv',
  git: 'git://github.com/fnichol/chef-rbenv'
cookbook 'sqlite',
  git: 'git://github.com/opscode-cookbooks/sqlite.git'
cookbook 'nodejs',
  git: 'http://github.com/mdxp/nodejs-cookbook'
cookbook 'mysql',
  git: 'git://github.com/opscode-cookbooks/mysql.git'
cookbook 'redis',
  git: 'git://github.com/brianbianco/redisio.git'
cookbook 'zlib',
  git: 'git://github.com/opscode-cookbooks/zlib'
cookbook 'wkhtmltopdf',
  git: 'git://github.com/firstbanco/chef-wkhtmltopdf.git'

当你打电话时你告诉流浪汉和厨师来建造这些vagrent up

在流浪文件中

config.vm.provision :chef_solo do |chef|
  chef.cookbooks_path = ["cookbooks","site-cookbooks"]
  chef.add_recipe "apt"
  chef.add_recipe "build-essential"
  chef.add_recipe "git"
  chef.add_recipe "ruby_build"
  chef.add_recipe "rbenv::install"
  chef.add_recipe "sqlite"
  chef.add_recipe "nodejs"
  chef.add_recipe "mysql"
  chef.add_recipe "redis"
  chef.add_recipe "zlib"
  chef.add_recipe "wkhtmltopdf"
end

现在我想知道我是否可以ruby_build安装 1.9.3-p290 我发现这个问题似乎有答案,但我得到以下信息

Running chef-solo...
stdin: is not a tty
[2013-05-23T14:31:18+00:00] INFO: *** Chef 10.14.2 ***
[2013-05-23T14:31:18+00:00] INFO: Setting the run_list to ["recipe[apt]", "recipe[build-essential]", "recipe[git]", "recipe[ruby_build]", "recipe[rbenv::install]", "recipe[sqlite]", "recipe[nodejs]", "recipe[mysql]", "recipe[redis]", "recipe[zlib]", "recipe[wkhtmltopdf]"] from JSON
[2013-05-23T14:31:18+00:00] INFO: Run List is [recipe[apt], recipe[build-essential], recipe[git], recipe[ruby_build], recipe[rbenv::install], recipe[sqlite], recipe[nodejs], recipe[mysql], recipe[redis], recipe[zlib], recipe[wkhtmltopdf]]
[2013-05-23T14:31:18+00:00] INFO: Run List expands to [apt, build-essential, git, ruby_build, rbenv::install, sqlite, nodejs, mysql, redis, zlib, wkhtmltopdf]
[2013-05-23T14:31:18+00:00] INFO: Starting Chef Run for precise64
[2013-05-23T14:31:18+00:00] INFO: Running start handlers
[2013-05-23T14:31:18+00:00] INFO: Start handlers complete.

================================================================================
Recipe Compile Error
================================================================================

Chef::Exceptions::RecipeNotFound
--------------------------------
could not find recipe ruby_build for cookbook rbenv

[2013-05-23T14:31:19+00:00] ERROR: Running exception handlers
[2013-05-23T14:31:19+00:00] ERROR: Exception handlers complete
[2013-05-23T14:31:19+00:00] FATAL: Stacktrace dumped to /tmp/vagrant-chef-1/chef-stacktrace.out
[2013-05-23T14:31:19+00:00] FATAL: Chef::Exceptions::RecipeNotFound: could not find recipe ruby_build for cookbook rbenv
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.

我怎样才能通过 ruby​​ build 来安装 ruby​​ 是可能的还是不可能的

4

2 回答 2

0

图书管理员将在本地安装您的食谱,但不会将它们转移到远程流浪者盒子。您需要使用Vagrant Librarian Chef 插件

也可以看看:

于 2013-12-31T23:10:24.800 回答
0

尝试将 ruby​​_build 添加到运行列表:

"run_list": [ "ruby_build", "recipe[main]" ]

于 2014-05-12T22:41:57.087 回答