gpt4 book ai didi

ruby-on-rails - 如何通过 Chef 安装 rvm/ruby/rails?

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:15 25 4
gpt4 key购买 nike

首先,我想指出我已经阅读了位于此处的问题:Installing RVM/Ruby 1.9.3 via Chef

我正在尝试使用 VirtualBox/Vagrant 在 Windows 中设置 Ruby on Rails 环境。 VirtualBox 和 Vagrant 的安装是不言自明的,但是深入研究 Vagrant 的配置和 Chef 之类的东西就不太清楚了。

我正在按照此处博客的说明进行操作:http://manuelvanrijn.nl/blog/2013/07/23/developing-ruby-on-rails-on-windows/

其中包括安装 librarian-chef gem 来管理 Recipe ,并使用以下 Cheffile:

#!/usr/bin/env ruby
#^syntax detection

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

cookbook 'apt'
cookbook 'git'
cookbook 'sqlite'
cookbook 'mysql'
cookbook 'postgresql'
cookbook 'database', :git => 'git://github.com/manuelvanrijn/cookbook-database.git', :ref => 'grant-roles'
cookbook 'nodejs'
cookbook 'build-essential'
cookbook 'ruby_build'
cookbook 'rbenv', :git => 'git://github.com/fnichol/chef-rbenv.git', :ref => 'v0.7.2'

我的问题是最初启动我的 Vagrant 盒子时,我使用的基础盒子 (precise64) 带有 ruby​​ 1.8.7p358。

为了获得一个正常运行的 Rails 站点,我需要安装 rvm,安装更新版本的 Ruby,然后在我能够运行 rails new rails_site

之前安装 Rails

我在这里找到了 rvm 的 Recipe :https://github.com/fnichol/chef-rvm

所以我希望完成的是,添加 rvm cookbook,自动安装特定版本的 Ruby,然后安装 Rails,这样我就可以拥有一个开箱即用的功能开发环境。我知道我可以通过在 Cheffile 末尾添加一行来添加 Recipe ,但除此之外,我如何指示 rvm 安装特定版本的 Ruby,然后再安装 Rails?

最佳答案

为了安装 rvm,我使用了 Recipe you specified .你需要的是将它添加到 Cheffile 中:

cookbook 'rvm', :git => 'git://github.com/fnichol/chef-rvm.git', :ref => '24ecbb0'

我用过 ref,因为上一个版本不能正常工作(不知道它是否已修复,但你可以试试我的方法,然后切换并试用更新的版本)。下一步是将 rvm 添加到您用于节点的角色中:

'recipe[rvm::user]',

在nodefile中指定这个角色后(在你的教程中是Vagrantfile),你可以像这样配置rvm安装:

  'rvm' => {
'installer_url' => 'https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer',
'branch' => 'none',
'version' => '1.17.10',
'user_installs' => [{
'user' => 'someuser',
'default_ruby' => 'ruby-1.9.3-p286@mygemsetname'
}]
}

就是这样。应该使用 ruby-1.9.3-p286@mygemsetname gemset 为 someuser 安装 Rvm。要在特定目录和其他自定义操作中安装 Rails,您需要学习如何编写自己的 Recipe ,这非常简单,您需要以 someuser 身份登录,cd 到您需要的目录并执行gem install,然后是 rails new(当然如果你想以用户身份安装 rvm/rails,而不是系统范围)

更新:要安装自定义 gem,您可以使用 chef-rvm或者你自己的 Recipe :

./site_cookbooks/mycookbook/recipes/default.rb

execute 'install mysql2 gem' do
command 'gem install mysql2'
not_if 'gem list | grep mysql2'
end

关于ruby-on-rails - 如何通过 Chef 安装 rvm/ruby/rails?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23302254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com