【问题标题】:activerecord-jdbc-adapter requires ActiveRecord at runtime erroractiverecord-jdbc-adapter 在运行时需要 ActiveRecord 错误
【发布时间】:2013-03-25 18:47:13
【问题描述】:

所以我刚刚将 JRUBY 更新到 1.7.3 [1.9] 并为 1.9 版的 ruby​​ 进行了全新的 gem 安装。

这是我的 activerecord gems 的版本:

activerecord (1.6.0)
activerecord-jdbc-adapter (1.2.9)
ActiveRecord-JDBC (0.5)
activesupport (3.2.13)

当我尝试执行数据库语句时,出现以下错误

activerecord-jdbc-adapter requires ActiveRecord at runtime
no such file to load -- active_record/version (LoadError)

有人知道怎么回事吗?我已经使用jgem list 验证这些 gem 都已安装

Gemfile.lock

GEM
  remote: http://rubygems.org/
  specs:
    ActiveRecord-JDBC (0.5)
    Ascii85 (1.0.2)
    activerecord (1.6.0)
    activerecord-jdbc-adapter (1.2.9)
    activesupport (3.2.13)
      i18n (= 0.6.1)
      multi_json (~> 1.0)
    afm (0.2.0)
    akami (1.2.0)
      gyoku (>= 0.4.0)
      nokogiri (>= 1.4.0)
    bouncy-castle-java (1.5.0147)
    builder (3.2.0)
    business_time (0.6.1)
      activesupport (>= 3.1.0)
      tzinfo (~> 0.3.31)
    childprocess (0.3.9)
      ffi (~> 1.0, >= 1.0.11)
    cucumber (1.2.3)
      builder (>= 2.1.2)
      diff-lcs (>= 1.1.3)
      gherkin (~> 2.11.6)
      multi_json (~> 1.3)
    cuke_sniffer (0.0.3)
      roxml
    data_magic (0.14)
      faker (>= 1.1.2)
      yml_reader (>= 0.2)
    diff-lcs (1.2.1)
    faker (1.1.2)
      i18n (~> 0.5)
    ffi (1.6.0)
    gherkin (2.11.6-java)
      json (>= 1.7.6)
    gyoku (1.0.0)
      builder (>= 2.1.2)
    hashery (2.1.0)
    httpi (2.0.2)
      rack
    i18n (0.6.1)
    jruby-openssl (0.8.7)
      bouncy-castle-java (>= 1.5.0147)
    jruby-win32ole (0.8.5)
    json (1.7.7-java)
    mime-types (1.21)
    multi_json (1.7.2)
    nokogiri (1.5.9-java)
    nori (2.0.4)
    page-object (0.8.6.1)
      page_navigation (>= 0.7)
      selenium-webdriver (>= 2.31.0)
      watir-webdriver (>= 0.6.2)
    page_navigation (0.7)
      data_magic (>= 0.14)
    pdf-reader (1.3.2)
      Ascii85 (~> 1.0.0)
      afm (~> 0.2.0)
      hashery (~> 2.0)
      ruby-rc4
      ttfunk
    rack (1.5.2)
    rake (10.0.4)
    rautomation (0.8.0)
      ffi
    rest-client (1.6.7)
      mime-types (>= 1.16)
    roxml (3.3.1)
      activesupport (>= 2.3.0)
      nokogiri (>= 1.3.3)
    rspec (2.13.0)
      rspec-core (~> 2.13.0)
      rspec-expectations (~> 2.13.0)
      rspec-mocks (~> 2.13.0)
    rspec-core (2.13.1)
    rspec-expectations (2.13.0)
      diff-lcs (>= 1.1.3, < 2.0)
    rspec-mocks (2.13.0)
    ruby-debug-ide (0.4.16)
      rake (>= 0.8.1)
    ruby-ole (1.2.11.6)
    ruby-rc4 (0.1.5)
    rubyzip (0.9.9)
    savon (2.1.0)
      akami (~> 1.2.0)
      builder (>= 2.1.2)
      gyoku (~> 1.0.0)
      httpi (~> 2.0.2)
      nokogiri (>= 1.4.0)
      nori (~> 2.0.3)
      wasabi (~> 3.0.0)
    selenium-webdriver (2.31.0)
      childprocess (>= 0.2.5)
      multi_json (~> 1.0)
      rubyzip
      websocket (~> 1.0.4)
    sources (0.0.1)
    spreadsheet (0.8.3)
      ruby-ole (>= 1.0)
    ttfunk (1.0.3)
    tzinfo (0.3.37)
    wasabi (3.0.0)
      httpi (~> 2.0)
      nokogiri (>= 1.4.0)
    watir-webdriver (0.6.2)
      selenium-webdriver (>= 2.18.0)
    websocket (1.0.7)
    xpath (1.0.0)
      nokogiri (~> 1.3)
    yml_reader (0.2)

PLATFORMS
  java

DEPENDENCIES
  ActiveRecord-JDBC
  activerecord
  activerecord-jdbc-adapter
  builder
  business_time
  childprocess
  cucumber
  cuke_sniffer
  ffi
  gherkin
  jruby-openssl
  jruby-win32ole
  json
  mime-types
  nokogiri
  page-object
  pdf-reader
  rake
  rautomation
  rest-client
  rspec
  ruby-debug-ide
  rubyzip
  savon
  selenium-webdriver
  sources
  spreadsheet
  watir-webdriver
  xpath

【问题讨论】:

  • 缺少捆绑程序或包含 ruby​​gems?
  • 好的,我更改了 require 语句中的顺序,看看这是否是个问题,我在 active_record gem constant Format not defined for Logger (NameError) org/jruby/RubyModule.java:2648:in remove_const 中遇到了另一个错误
  • 好吧,它现在看起来像是找到了 ActiveRecord。你用的是什么记录器?
  • 根据stackoverflow.com/questions/6496848/weird-ruby-on-rails-error这是因为您使用的是旧版本的AR
  • 是的,它工作正常,我只是忘了先删除我的锁定文件。

标签: ruby activerecord rubygems jruby


【解决方案1】:

第一个问题是您的要求声明,

您的第二个问题是使用 1.6.0,据报道它会引发此错误。解决方案是从 Gemfile.lock 中删除 AR 1.6.0 并安装更新的版本。

在您的 Gemfile 中添加:

gem "activerecord", "~> 3.2.13"

然后在修复您的 Gemfile.lock 后重新运行 bundler

【讨论】:

  • 我没有在 gemfile (gem 'activerecord') 中指定我的 activerecord 版本,但它似乎安装了那个版本。我已包含我的锁定文件,因此您可以查看我是否在某处缺少依赖项
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多