【问题标题】:Can not install gem package with my own user during chef compilation在厨师编译期间无法使用我自己的用户安装 gem 包
【发布时间】:2015-12-29 01:43:03
【问题描述】:

我是厨师新手,只是尝试在厨师食谱中使用以下代码安装 gem 包,然后才能使用它:

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

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

【问题讨论】:

    标签: rubygems chef-infra bundler


    【解决方案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 用户目录中获取它,但对于我们的 vagrant 环境而言,这很有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多