通过Chef创建gemset的问题 - .ruby-gemset和.ruby-version没有创建

时间:2016-12-16 08:25:32

标签: ruby chef rvm chef-recipe gemset

我在我的食谱中加入了rvm --create --ruby-version ruby-2.3.3@storesview来创建一个gemset。运行 kitchen converge 不会导致 .ruby-gemset .ruby-version 的创建。但是当我直接在VM终端上运行rvm --create --ruby-version ruby-2.3.3@storesview时,文件就会被创建。可能是什么原因?谢谢。 这是我的bash代码的样子:

bash "somename" do
  user 'root'
  cwd "/var/www/html/APIStoresView/"
  code <<-EOH
    rvm --create --ruby-version ruby-2.3.3@storesview
  EOH
end

1 个答案:

答案 0 :(得分:1)

一般情况下,不建议在服务器上使用rvm,而且最好在最好的时候使用Chef + rvm。更具体地说,appbundler(由Chef用来创建边缘防弹的二进制存根)设置了许多可能混淆rvm的环境变量。

如果您需要某个项目的特定版本的Ruby,我强烈建议您使用poise-ruby + poise-ruby-build和Bundler而不是rvm和gemsets。