Chef infra chef客户端运行时出现mongo gem错误

Chef infra chef客户端运行时出现mongo gem错误,chef-infra,chef-recipe,Chef Infra,Chef Recipe,My attributes.rb文件包含require'mongo',而chef client运行时,在同步cookbooks之后,它将编译每个cookbooks,之后出现一个错误“require mongo”。我已经描述过在其他烹饪书中安装gem。那我想做什么呢 你不应该在属性中要求宝石 如果您想安装mongo gem,您应该使用Recipes中的或资源。您也可以使用,它的工作方式类似于chef\u gemresource 您好@Szymon,感谢您的快速回复,但我使用mongo gem从mo

My attributes.rb文件包含require'mongo',而chef client运行时,在同步cookbooks之后,它将编译每个cookbooks,之后出现一个错误“require mongo”。我已经描述过在其他烹饪书中安装gem。那我想做什么呢

  • 你不应该在属性中要求宝石
  • 如果您想安装mongo gem,您应该使用Recipes中的或资源。您也可以使用,它的工作方式类似于
    chef\u gem
    resource
    您好@Szymon,感谢您的快速回复,但我使用mongo gem从mongo db服务器加载数据,因此我需要mongo gem,并且有安装mongo gem的配方,但在chef客户端运行时编译烹饪书时,我面临错误,因为当时没有安装mongo gem…您的配方可能在运行时没有安装gem,chef分两个阶段工作,您可以了解更多。如果您能向我们展示您的配方和完整的错误日志,这会有所帮助。我在编译阶段面临问题,这是我的attributes.rb文件
    require'mongo'client=mongo::client.new('mongodb://172.31.19.21:27017/abcdef)
    不幸的是,mongo gem依赖于bson gem,它有一个C扩展,因此,您需要完全重新编写代码。您不能过早安装C gems,因为您需要等待C编译器工具链安装完成。