在主厨编译期间无法使用我自己的用户安装gem包

时间:2015-12-28 16:20:01

标签: rubygems chef bundler

我是厨师的新手,只是尝试使用以下代码在chef recipe中安装gem包,然后再使用它:

gem_package 'bundler:1.6.5' do
  options "--user-install www"
  action :nothing
end.run_action(:install)

问题是bundle安装了,但root用户没有用www。我尝试了一切。这是错误还是我在这里做错了什么。请帮忙!

1 个答案:

答案 0 :(得分:1)

%w[clc-gem1 clc-gem2 clc_gem-amazing].each do |gem|
  gem_package gem do
    source node["clc_nexus"]["repo"]["localgems"]
    gem_binary "/opt/chefdk/embedded/bin/gem"
    options "--no-user-install"
    action :upgrade
  end
end

您需要指定--no-user-install选项。由于chef以root身份运行,如果未指定,则gems将安装在/ home / root中。通过指定--no-user-install,gems将安装在共享的ruby gems位置。这可能不太理想,我确信必须有一种方法可以将它放在vagrant用户目录中,但是出于我们的流浪者环境的目的,这很有效。