使用chef-rbenv在全系统安装私人宝石

时间:2015-06-30 09:48:09

标签: ruby gem chef rbenv

我正在使用[chef-rbenv][1]并在系统范围内安装gems,如下所示:

节点/ my_server.json

  "rbenv": {
        "rubies": ["2.2.0"],
        "global": "2.2.0",
        "root_path": "/opt/rbenv",
        "gems": {
            "2.2.0": [
                { "name": "activesupport"},
                { "name": "awesome_print"}
            ]
        }
   }

我想像这样安装我的私人宝石my_foo。 通过编写如下的Gemfile,gem在本地环境中工作正常:

gem 'my_foo', :git => 'git@bitbucket.org:ironsand/my_foo.git'
gem 'pry-byebug'

服务器root帐户具有访问git存储库的权限。

我发现如果我安装自己的gem服务器,我可以安装gem,但我不想安装gem服务器。

有没有办法使用chef-rbenv安装私有宝石?

1 个答案:

答案 0 :(得分:0)

Ruby的gem无法从git位置安装gem。这是捆绑器的一个功能。你正在使用的厨师食谱,实现了rubygems'gem命令的包装,而不是捆绑器。

您需要将私有仓库克隆到目录并构建/安装gem yourslef或预构建.gem文件(请参阅github's release hosting feature以获取适合您的私有github的文件托管功能访问管理)。

或者只是在你提到的Gemfile上调用bundler。