0

プロジェクトで rake タスクを実行できません。常に次のエラー メッセージが表示されます。

rake aborted!
undefined method `to_sentence' for #<Array:0x10153c800>
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rails-2.3.11/lib/tasks/rails.rb:10
/Users/username/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
/Users/username/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
/Users/username/Documents/project/Rakefile:10
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2383:in `load'
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile'
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2017:in `load_rakefile'
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2016:in `load_rakefile'
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2000:in `run'
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/Users/username/.rvm/gems/ruby-1.8.7-p334/gems/rake-0.8.7/bin/rake:31
/Users/username/.rvm/gems/ruby-1.8.7-p334/bin/rake:19:in `load'
/Users/username/.rvm/gems/ruby-1.8.7-p334/bin/rake:19

ruby 1.8.7 (2011-02-18 パッチレベル 334) [i686-darwin10.8.0]

レール 2.3.11

レーキ、バージョン 0.8.7

rake 0.9.2 および/または ruby​​ 1.9.2 で試しましたが、成功しませんでした。

これが私のRakefileの内容です:

# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require(File.join(File.dirname(__FILE__), 'config', 'boot'))

require 'rake'
require 'rake/testtask'
require 'rdoc/task'

require 'tasks/rails'

ご協力いただきありがとうございます !

4

2 に答える 2

0

バンドラーがインストールされている場合は、試してください

bundle exec rake --tasks

役立つかどうかはわかりませんが、試してみる価値があります。

于 2011-07-20T21:43:20.330 に答える
0

これがカスタム Rake タスクの場合... to_sentenceArray への拡張は Rails で定義されているため、Rails をロードしていることを確認する必要があります。

rake タスクで環境をロードしていることを確認してください。

task :my_task => :environment do
...

これがカスタム Rake タスクでない場合は、環境に問題があるようです。RVM をアップグレードしてみてください。

于 2011-07-20T11:10:15.260 に答える