在“要求”中:没有要加载的文件 -- active_record (LoadError)
Posted
技术标签:
【中文标题】在“要求”中:没有要加载的文件 -- active_record (LoadError)【英文标题】:in `require': no such file to load -- active_record (LoadError) 【发布时间】:2013-02-23 16:39:13 【问题描述】:我希望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时,总是报错: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'”?
【问题讨论】:
你试过require'./active_record'
吗?
【参考方案1】:
在 Cloud Foundry 上部署任何 rails-3 应用程序时,我们需要遵循以下步骤。
如果应用程序内部使用了任何 gem,它们应该执行 bundle package,然后再次 bundle install。
在config/environments/production.rb
文件中,修改行
config.serve_static_assets = false
到
config.serve_static_assets = true
使用以下命令预编译资产
bundle exec rake assets:precompile
通过以下命令将应用推送到 vmc。
vmc push --runtime ruby19
【讨论】:
以上是关于在“要求”中:没有要加载的文件 -- active_record (LoadError)的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向启动 DEX 字节码中的 Activity 组件 ( 使用 DexClassLoader 获取组件类失败 | 失败原因分析 | 自定义类加载器没有加载组件类的权限 )
为啥都是autoload,load_all!并要求所有在active_support.rb 中使用?
setContentView()给当前Activity加载布局出错
Android 逆向启动 DEX 字节码中的 Activity 组件 ( 替换 LoadedApk 中的类加载器 | 加载 DEX 文件中的 Activity 类并启动成功 )