0

データベース システム間の複雑な変換を実行する rake タスクがあります。ノコギリが必要だったタスクをアップグレードしました。インストールされています:

`gem list --local`:

*** LOCAL GEMS ***

...
nokogiri (1.5.9)
...

Ruby は 1.8.x バージョンであり、以下が必要require 'rubygems'です。

`ruby -v`
ruby 1.8.7 (2012-02-08 MBARI 8/0x8770 on patchlevel 358) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2012.02

irb を使用すると、すべて問題ないように見えます。

`irb`
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'nokogiri'
=> true
irb(main):003:0>

ただし、rake タスクを開始すると、ノコギリが見つからないようです。

lib/tasks$ RAILS_ENV="test" rake redmine::migrate_from_buggy_new.rake 280 --trace
(in /var/www/redmine)
rake aborted!
no such file to load -- nokogiri
/var/www/redmine/lib/tasks/migrate_from_buggy_new.rake:27:in `require'
/var/www/redmine/lib/tasks/migrate_from_buggy_new.rake:27
/usr/local/lib/ruby/gems/1.8/gems/railties-3.2.12/lib/rails/engine.rb:425:in `load'
/usr/local/lib/ruby/gems/1.8/gems/railties-3.2.12/lib/rails/engine.rb:425:in `load_tasks'
/usr/local/lib/ruby/gems/1.8/gems/railties-3.2.12/lib/rails/engine.rb:425:in `each'
/usr/local/lib/ruby/gems/1.8/gems/railties-3.2.12/lib/rails/engine.rb:425:in `load_tasks'
/usr/local/lib/ruby/gems/1.8/gems/railties-3.2.12/lib/rails/application.rb:145:in `load_tasks'
/usr/local/lib/ruby/gems/1.8/gems/railties-3.2.12/lib/rails/railtie/configurable.rb:30:in `send'
/usr/local/lib/ruby/gems/1.8/gems/railties-3.2.12/lib/rails/railtie/configurable.rb:30:in `method_missing'
/var/www/redmine/Rakefile:7
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load'
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load_rakefile'
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:583:in `raw_load_rakefile'
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:89:in `load_rakefile'
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:88:in `load_rakefile'
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:72:in `run'
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:70:in `run'
/usr/local/lib/ruby/gems/1.8/gems/rake-10.0.3/bin/rake:33
/usr/local/bin/rake:19:in `load'
/usr/local/bin/rake:19

次に何をすればよいかわかりません。私は Ruby 環境に慣れたばかりで、すべてがまだ奇妙で新しいものです。

編集: rake ファイルの冒頭は次のようになります。

require 'active_record'
require 'action_controller'
require 'iconv'
require 'pp'

require 'rubygems'
require 'nokogiri'

namespace :redmine do
  desc 'Buggy migration script'
  task :migrate_from_buggy => :environment do

編集 2: Nokogiri は にインストールされ/usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.5.9/lib/nokogiriます。次のように、検索パスに含めようとしました。

RAILS_ENV="test" rake redmine::migrate_from_buggy_new.rake 280 -I "/usr/local/lib/ruby/gems/1.8/gems/"
RAILS_ENV="test" rake redmine::migrate_from_buggy_new.rake 280 -I "/usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.5.9"
RAILS_ENV="test" rake redmine::migrate_from_buggy_new.rake 280 -I "/usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.5.9/lib"
RAILS_ENV="test" rake redmine::migrate_from_buggy_new.rake 280 -I "/usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.5.9/lib/nokogiri"

すべて無駄です (同じ問題/エラー メッセージ)。

4

1 に答える 1