Chef レシピを実行するオムニバス インストールでのサード パーティの gem の使用に関する質問について、誰か助けていただけませんか? omnibus でパッケージ化された「p4ruby」gem を使用して、レシピで使用できるようにしたいと考えています。
require 'P4'
エラーが発生します
cannot load such file -- P4
インストールディレクトリで見ることができます
./embedded/service/gem/ruby/2.1.0/gems/p4ruby-2015.1.0/ext/P4/p4rubyconf.h
./embedded/service/gem/ruby/2.1.0/gems/p4ruby-2015.1.0/ext/P4/p4rubydebug.h
./embedded/service/gem/ruby/2.1.0/cache/p4ruby-2015.1.0.gem
./embedded/service/gem/ruby/2.1.0/specifications/p4ruby-2015.1.0.gemspec
./embedded/service/gem/ruby/2.1.0/build_info/p4ruby-2015.1.0.info
./embedded/lib/ruby/gems/2.1.0/gems/p4ruby-2015.1.0/ext/P4/p4rubyconf.h
./embedded/lib/ruby/gems/2.1.0/gems/p4ruby-2015.1.0/ext/P4/p4rubydebug.h
./embedded/lib/ruby/gems/2.1.0/cache/p4ruby-2015.1.0.gem
私はChefのドキュメントを読み、たとえばchef_gemまたはgem_packageを使用できることを確認しました
gem_package 'p4ruby' do
end
ただし、これは常に gem をコンパイルしようとするため、makeやg++などの開発ツールが利用可能であるとは期待できず、それらを強制的にインストールしたくないため、ターゲット インストール環境でエラーが発生します。
Chef にこの gem を「見て」もらい、コンパイルを実行せずにサードパーティの gem を指定するにはどうすればよいですか? これは可能ですか?
詳細については、 makeとg++を備えたマシンでgem_packageを使用すると、最終的にインストール ディレクトリに次のようになります (以前とは少し異なります)。これはパスの問題ですか?? 私はすべてを検索しましたが、解決策を見つけることができません
./embedded/service/gem/ruby/2.1.0/gems/p4ruby-2015.1.0/ext/P4/p4rubyconf.h
./embedded/service/gem/ruby/2.1.0/gems/p4ruby-2015.1.0/ext/P4/p4rubydebug.h
./embedded/service/gem/ruby/2.1.0/cache/p4ruby-2015.1.0.gem
./embedded/service/gem/ruby/2.1.0/specifications/p4ruby-2015.1.0.gemspec
./embedded/service/gem/ruby/2.1.0/build_info/p4ruby-2015.1.0.info
./embedded/lib/ruby/gems/2.1.0/gems/p4ruby-2015.1.0/ext/P4/p4rubyconf.h
./embedded/lib/ruby/gems/2.1.0/gems/p4ruby-2015.1.0/ext/P4/p4rubydebug.h
./embedded/lib/ruby/gems/2.1.0/cache/p4ruby-2015.1.0.gem
./embedded/lib/ruby/gems/2.1.0/specifications/p4ruby-2015.1.0.gemspec
助けてくれてありがとう