我想使用 JRuby 来运行填充数据库的脚本。我已经在另一个应用程序中为 Rails 服务器运行 JRuby/Rails,并且此设置有效。
我运行脚本 (foo.rb) 一直很好,直到我尝试在第 2 行中包含 ActiveRecord gem。代码如下所示:
require 'rubygems'
require 'activerecord'
require 'csv'
nf=[]
Dir["./*.*"].each{|f|nf<<f if File::ctime(f) + 600 > Time.now}
nf.each{|f| p f.inspect}
我得到的错误是这样的:
unix> jruby --1.9 foo.rb
LoadError: no such file to load -- activerecord
require at org/jruby/RubyKernel.java:1047
require at /home/user/.rbenv/versions/jruby-1.6.4/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36
(root) at foo.rb:2
我的 gem 列表包括所有 rails 3.0.10、activerecord 3.0.10、activerecord-jdbc-adapter 1.2.0、activerecord-jdbcmysql-adapter 1.2.0。
我还有一个环境变量 (JRUBY-OPTS=--1.9),它告诉 JRuby 在我使用 Rails 时运行 1.9 版。
要让 JRuby 1.9 与 ActiveRecord 3.0.10 一起运行以访问 MySQL 数据库,我缺少什么?
最佳答案
将您的要求更改为:
require 'active_record'
关于mysql - 如何在 Rails 之外的 JRuby 脚本中使用 ActiveRecord?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8408439/