2010-06-21 72 views
0

我被突如其來的問題很困惑與運行rake任務:耙子中止!未定義的方法`text_area「上課'::的ActionView基地」

softwareclick:/myapp/current# rake my_task --trace 
(in /myapp/releases/20100621162444) 
** Invoke my_task (first_time) 
** Invoke environment (first_time) 
** Execute environment 
rake aborted! 
undefined method `text_area' for class `ActionView::Base' 
/myapp/releases/20100621162444/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method' 
/myapp/releases/20100621162444/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method_chain' 
/myapp/releases/20100621162444/vendor/gems/lipsiadmin-5.1.2/lib/view/helpers/view_helper.rb:11:in `included' 
/myapp/releases/20100621162444/vendor/gems/lipsiadmin-5.1.2/lib/lipsiadmin.rb:41:in `include' 
/myapp/releases/20100621162444/vendor/gems/lipsiadmin-5.1.2/lib/lipsiadmin.rb:41 
/myapp/releases/20100621162444/vendor/gems/lipsiadmin-5.1.2/lib/lipsiadmin.rb:40:in `class_eval' 
/myapp/releases/20100621162444/vendor/gems/lipsiadmin-5.1.2/lib/lipsiadmin.rb:40 
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
/myapp/releases/20100621162444/vendor/rails/activesupport/lib/active_support/dependencies.rb:158:in `require' 
/myapp/releases/20100621162444/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:208:in `load' 
/myapp/releases/20100621162444/config/../vendor/rails/railties/lib/initializer.rb:307:in `load_gems' 
/myapp/releases/20100621162444/config/../vendor/rails/railties/lib/initializer.rb:307:in `each' 
/myapp/releases/20100621162444/config/../vendor/rails/railties/lib/initializer.rb:307:in `load_gems' 
/myapp/releases/20100621162444/config/../vendor/rails/railties/lib/initializer.rb:164:in `process' 
/myapp/releases/20100621162444/config/../vendor/rails/railties/lib/initializer.rb:113:in `send' 
/myapp/releases/20100621162444/config/../vendor/rails/railties/lib/initializer.rb:113:in `run' 
/myapp/releases/20100621162444/config/environment.rb:12 
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
/myapp/releases/20100621162444/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
/myapp/releases/20100621162444/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in' 
/myapp/releases/20100621162444/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
/myapp/releases/20100621162444/vendor/rails/railties/lib/tasks/misc.rake:4 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain' 
/usr/lib/ruby/1.8/monitor.rb:238:in `synchronize' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `each' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain' 
/usr/lib/ruby/1.8/monitor.rb:238:in `synchronize' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run' 
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31 
/usr/bin/rake:19:in `load' 
/usr/bin/rake:19 

我在Debian運行一個乘客/ nginx的應用程序使用Ruby 1.8.5和安裝了以下的寶石:

actionmailer (2.3.8) 
actionpack (2.3.8) 
activerecord (2.3.8) 
activeresource (2.3.8) 
activesupport (2.3.8) 
ancestry (1.2.0) 
chronic (0.2.3) 
fastthread (1.0.7) 
git (1.2.5) 
haml (3.0.12) 
hoe (2.6.1) 
json (1.4.3) 
json_pure (1.4.3) 
lipsiadmin (5.1.2) 
nokogiri (1.4.2) 
passenger (2.2.14) 
postgres (0.7.9.2008.01.28) 
rack (1.2.1, 1.0.1, 1.0.0) 
rails (2.3.8) 
rake (0.8.7) 
RedCloth (4.2.3) 
rubyforge (2.0.4) 
sitemap_generator (0.3.3) 
texticle (1.0.2) 
version (0.9.2) 
whenever (0.4.2) 

由於--trace我認爲這是lipsiadmin和active_support之間的事情,但我根本無法弄清楚如何前進。

有沒有人有想法?

感謝您的幫助,

瓦爾

+1

你爲什麼在服務器上安裝gem的時候也可以使用Rails。用寶石製造鐵軌是imho人們正在做的最常見的不良習慣之一... – 2010-06-21 20:22:36

+0

Hi Tanel,我承認我在我的noobish發展開始時就這麼做了。但是,當我試圖清理最近的部署時,我在新服務器上遇到了較低的ruby版本問題(debian,ruby 1.8.5),所以我認爲應該對依賴較高ruby版本的應用程序進行清理, ... – 2010-06-21 20:41:08

+0

嘿,那實際上爲我做了些什麼。我現在可以運行rake gems -list! - [I] RedCloth = 4.2.3 - [I]祖先 - [R]的activerecord> = 2.1.0 - [F] acts_as_sanitiled - [I]〜引入nokogiri> 1.3.3 - [F]消毒〜> 1.1.0 - [I]〜引入nokogiri> 1.3.3 - [I] RedCloth - [F]進行殺毒 - [I]〜引入nokogiri> 1.3.3 - [I]每當 - [I]慢性> = 0.2.3 - [I] hoe> = 1.2.1 - [I] ruby​​forge> = 2.0.4 - [I] json_pure> = 1.1.7 - [R] rake> = 0.8.7 - [I] texticle - [I] lipsiadmin = 5.1.2 - [I] haml - [R] rails> = 2.2.1 - [I] sitemap_generator – 2010-06-21 21:32:11

回答

1

是什麼rake任務是什麼樣子?你是否依賴於:environment?

做其他rake任務的工作?

請記住,除非您的任務具有環境依賴關係,否則rake不會啓動rails棧。

Jason's rake overview

更新: 我進一步建議,在評論中,是一個正確的答案:

寶石和插件,可以對對方說需要特定的加載順序的依賴關係。所以解決方案是刪除寶石/插件來找出哪一個是造成問題。然後將其添加回系統並明確選擇加載順序。

+0

嗨,壞消息,這是所有的rake任務... 這一個開始是這樣的: 任務:fetch_regnow =>:環境不 需要 'RubyGems的' 要求 '引入nokogiri' 需要 'zlib的' 需要 '開URI' 需要 'active_record' 剩下的應該只是工作。我在這裏沒有改變一件事。 據我可以看到所有這些依賴關係得到滿足。 我實際上得到了「rake gems -list」的相同結果 – 2010-06-21 20:08:20

+1

也許一個gem試圖在加載所有庫之前調用方法。我會做一些二進制搜索 - 首先卸載你懷疑的任何新的寶石。然後慢慢加回來找到罪魁禍首。 – 2010-06-21 20:24:37

+0

嗯,我會說我已經完成了檢查......所以,這意味着,在ActionView :: Base被加載之前,perfbs lipsiadmin會調用text_area?如果是這樣或者類似的話,你知道一個優先考慮這些傢伙的方法嗎? – 2010-06-21 21:27:48

相關問題