有人可以帮助解决有关在运行 Chef 食谱的综合安装中使用 3rd 方 gem 的问题吗?我想使用与综合包一起打包的“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 或者在没有编译运行的情况下指定一个 3rd 方 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
非常感谢您的帮助