Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rubygems 为什么可以';云铸造负载mongo_映射器?_Rubygems_Mongomapper_Cloud Foundry - Fatal编程技术网

Rubygems 为什么可以';云铸造负载mongo_映射器?

Rubygems 为什么可以';云铸造负载mongo_映射器?,rubygems,mongomapper,cloud-foundry,Rubygems,Mongomapper,Cloud Foundry,我已经上传了一个简单的Ruby测试应用程序到我的机器上™, 但它在站点上给出了以下错误 ====> logs/stderr.log <==== /var/vcap/data/packages/dea_ruby18/3.1/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- mongo_mapper (LoadError)

我已经上传了一个简单的Ruby测试应用程序到我的机器上™, 但它在站点上给出了以下错误

====> logs/stderr.log <====

/var/vcap/data/packages/dea_ruby18/3.1/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- mongo_mapper (LoadError)
    from /var/vcap/data/packages/dea_ruby18/3.1/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
    from recall.rb:2
所以我猜这不起作用有两个可能的原因:

  • 我运行的是Ruby 1.9,Cloud Foundry有1.8,有什么不同吗?(我尝试将'require'rubygems'行添加到我的文件中,但没有区别)
  • 我的Gemfile格式错误(或者在指定从何处获取mongo_mapper gem时有其他附加要求)
  • 如何解决这个问题

  • 这可能是个问题,但我强烈建议在您的开发环境和生产环境中使用相同的Ruby版本。为了方便起见,您可以使用在计算机上安装Ruby 1.8

  • 您是否在应用程序的根目录中进行了“捆绑安装”bundle install'查看您的gems文件并安装gems。请注意,如果您将gem分组为“开发”和“测试”,这些gem将不会安装在生产环境中


  • 一、 和你一样,在cloudfoundry上需要“mongo_mapper”也有困难。正如cloudfoundry告诉我们的那样,我使用Bundler和Gemfile解决了我的问题

    我现在在本地安装了“bundler”gem,并在应用程序树的根目录下添加了此gem文件:

    source "http://rubygems.org"
    gem 'sinatra'
    gem 'json'
    gem 'mongo'
    gem 'mongo_mapper'
    
    在.rb文件中没有require行,我只有以下内容:

    Bundler.require
    
    在执行
    vmc推送
    更新
    之前,您需要执行以下操作:

    bundle package
    bundle install
    

    我也做了一点。

    它消除了我的mongo_映射错误;有一些奇怪的事情发生了,但这肯定有助于解决这个问题:)事实证明,你可以让CloudFoundry使用Ruby 1.9,所以我就切换到了那个。
    bundle package
    bundle install