2013-03-08 63 views
1

我希望cloudfoundry的vcap-service-base可以访问cloud_controller的数据库,然后我需要vcap-service-base中的provisioner.rb来要求' active_record”。 因此,我在vcap-service-base的Gemfile中添加了“gem”activerecord“”,然后运行“bundle install”。 在provisioner.rb中,我添加了“require'active_record'”,在启动cloudfoundry时,它总是抛出一个错误:在'require'中:没有要加载的文件--active_record(LoadError),如下所示:in'require':no such file to load --active_record(LoadError)

/root/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/vcap-services-base-1077d35ef73b/lib/base/provisioner.rb:9:in `require': no such file to load -- active_record (LoadError) 
from /root/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/vcap-services-base-1077d35ef73b/lib/base/provisioner.rb:9:in `<top (required)>' 
from /root/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/vcap-services-base-1077d35ef73b/lib/vcap_services_base.rb:4:in `require' 
from /root/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/bundler/gems/vcap-services-base-1077d35ef73b/lib/vcap_services_base.rb:4:in `<top (required)>' 
from /root/cloudfoundry/vcap/bin/../services/mysql/bin/mysql_node:7:in `require' 
from /root/cloudfoundry/vcap/bin/../services/mysql/bin/mysql_node:7:in `<main>' 

根据错误,它是LoadError。 但是,当我在/root/cloudfoundry/.deployments/devbox/deploy/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems中搜索gem“active_record”时,它确实在那里。 现在我很困惑它是LoadError还是我错过了一些重要的东西。 为什么在vcap-service-base中,可以“require'active_record'”找不到?

+0

你试过'需要” ./ active_record''? – BlackHatSamurai 2013-03-08 18:47:21

回答

0

在云代工厂部署任何rails-3应用程序时,我们需要遵循以下步骤。

  1. 如果任何宝石使用里面的应用程序,他们应该做捆绑包,然后再捆绑安装

  2. config/environments/production.rb文件,修改线

    config.serve_static_assets = false 
    

    config.serve_static_assets = true 
    
  3. 使用下面的命令

    bundle exec rake assets:precompile 
    
  4. 推该应用预编译资产vmc通过以下命令。

    vmc push --runtime ruby19 
    
相关问题