0

Chef-solo を使用して RVM 用のクックブックをセットアップしようとしています。

私の run_list は次のようになります。

  "実行リスト": [
    "レシピ[apt]",
    "レシピ[ビルド必須]",
    "レシピ[カール]",
    "レシピ[ユーザー]",
    "レシピ[rvm::vagrant]",
    "レシピ[rvm::システム]",
    "レシピ[nginx::パッセンジャー]",
    "レシピ[nginx::ソース]",
    "レシピ[postgresql::サーバー]",
    「レシピ[postgresql::クライアント]」
  ]

RVM と Nginx の私の属性:

  "rvm": {
    "ルビー": ["1.9.3-p0"],
    "グローバル": ["1.9.3-p0"],
    "vagrant": { "system_chef_solo" : "/opt/ruby/bin/chef-solo" },
    "宝石": {
      "1.9.3-p0": [
        {"名前": "バンドラー"},
        {"名前": "乗客"},
        {"名前": "レーキ"}
      ]
    }
  }、

  "nginx": {
    "バージョン": "1.2.5",
    "ユーザー": "デプロイ",
    "init_style": "init",
    "モジュール": [
      "http_stub_status_module",
      "http_ssl_module",
      「http_gzip_static_module」
    ]、
    "乗客": {
      「バージョン」:「3.0.18」
    }、
    "configure_flags": [
      「--add-module=/var/lib/gems/1.9.1/gems/passenger-3.0.18/ext/nginx」
    ]、
    "gzip_types": [
      "テキスト/プレーン",
      "テキスト/html",
      "テキスト/css",
      "テキスト/xml",
      "テキスト/JavaScript",
      "アプリケーション/json",
      "アプリケーション/x-javascript",
      "アプリケーション/xml",
      「アプリケーション/xml+rss」
    ]
  }、

ただし、変換は次のように中断されます。

================================================== ==============================

リソース 'gem_package[passenger]' でアクション `install` を実行中にエラーが発生しました

================================================== ==============================


Gem::InstallError

-----------------

乗客にはレーキが必要です (>= 0.8.1)


リソース宣言:

----------------------

# /tmp/vagrant-chef-1/chef-solo-1/cookbooks/nginx/recipes/passenger.rb 内

 53: gem_package 'パッセンジャー' do
 54: アクション :インストール
 55: バージョンノード["nginx"]["パッセンジャー"]["バージョン"]
 56: gem_binary node["nginx"]["passenger"]["gem_binary"] if node["nginx"]["passenger"]["gem_binary"]
 57:終わり
 58:

コンパイル済みリソース:

------------------

# /tmp/vagrant-chef-1/chef-solo-1/cookbooks/nginx/recipes/passenger.rb:53:in `from_file' で宣言

gem_package("パッセンジャー") do
  バージョン「3.0.18」
  パッケージ名「乗客」
  プロバイダー Chef::Provider::Package::Rubygems
  retry_delay 2
  アクション [:インストール]
  再試行 0
  レシピ名「乗客」
  クックブック名​​:nginx
終わり

....

/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application/solo.rb:216:in `run_application'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/../lib/chef/application.rb:72:in `run'
/opt/ruby/lib/ruby/gems/1.8/gems/chef-10.18.2/bin/chef-solo:25
/opt/ruby/bin/chef-solo:19:in `load'
/opt/ruby/bin/chef-solo:19
[2013-02-26T14:22:18+00:00] 致命的: Gem::InstallError: gem_package[passenger] (nginx::passenger 行 53) にエラーがありました: Gem::InstallError: パッセンジャーにはレーキが必要です (>= 0.8 .1)
シェフが正常に完了しませんでした! エラーはすべて
上記の出力。正しく完了するようにレシピを修正してください。

何ができるでしょうか?

4

2 に答える 2

5

これは、chefを使用してパッセンジャーでnginxをインストールする、書いたガイドです:https://coderwall.com/p/r4lv7w

于 2013-06-28T13:59:27.870 に答える
1

Nginx はソースからコンパイルする必要がありますが、Apache は Passenger モジュールを使用できます。つまり、RVM gem 内にある Passenger 拡張機能のソースを Nginx が知る必要があるということです。

オーバーライド:gem_binaryあり

"乗客": {
      "バージョン": "3.0.18",
      "gem_binary": "/usr/local/rvm/wrappers/ruby-1.9.3-p0/gem"
    }、

トリックを行う必要があります。

于 2013-02-26T21:06:43.010 に答える