未定义的方法'名称'为“actionmailer”:字符串 [英] undefined method `name' for "actionmailer":String

查看:109
本文介绍了未定义的方法'名称'为“actionmailer”:字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 构建了旧版本的Rails项目> RAILS_GEM_VERSION ='2.3.4'除非定义? RAILS_GEM_VERSION 

所以我使用rvm安装了这个gem,这样我就可以运行它了

  $ gem list 

***本地GEMS ***

actionmailer(2.3.8,2.3 .4)
actionpack(2.3.8,2.3.4)
activerecord(2.3.8,2.3.4)
主动资源(2.3.8,2.3.4)
有效支持(2.3.8,2.3.4)
bundler(1.1.4)
mysql(2.8.1)
rack(1.1.3,1.0.1)
rails(2.3 .4)
rake(0.8.7)

我运行 rake db:create 它工作正常,但是当我运行 rake db:migrate 时出现此错误

  rake中止! 
actionmailer的未定义方法`name':String

没有得到任何东西可以帮助$ / b>

  $ rake db:migrate --trace 
(在/ home / azzurrio / Desktop / berkmancenter-fair_use_tool-f8f65ea)
**调用db:migrate(first_time)
**调用环境(first_time)
**执行环境
rake中止!
actionmailer的未定义方法`name':字符串
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/rails/ gem_dependency.rb:268:在'=='
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:217:在`==='
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:217:in`matching_specs'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in`find_all'
/ usr / share /ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/specification.rb:411:in`each'
/ usr / share / ruby​​-rvm / rubies / ruby-1.8.7-p358 / lib / ruby​​ / site_ruby / 1.8 / ruby​​gems / specification.rb:410:在`each'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358 /lib/ruby/site_ruby/1.8/rubygems/dependency.rb:216:in`find_all'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/ 1.8 / ruby​​gems / dependency.rb:216:在`matching_specs'
/ usr / share / ruby​​-rvm / rubies / ruby-1.8.7-p358 / lib / ruby​​ / site_ruby / 1.8 / ruby​​gems / dependency.rb:238:在`to_specs'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358 /lib/ruby/site_ruby/1.8/rubygems/dependency.rb:256:in`to_spec'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/ 1.8 / ruby​​gems.rb:1210:在`gem'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/rails/gem_dependency.rb :73:在`add_load_paths'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/initializer.rb:301:in`add_gem_load_paths'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/initializer.rb:301:in`each'
/ usr / share / ruby​​-rvm / gems / ruby​​-1.8.7-p358 / gems / rails-2.3.4 / lib / initializer.rb:301:在`add_gem_load_paths'
/ usr / share / ruby​​-rvm / gems /ruby-1.8.7-p358/gems/rails-2.3.4/lib/initializer.rb:132:in`process'
/usr/share/ruby-rvm/gems/ruby-1.8.7- p358 / gems / rails-2.3.4 / lib / initializer.rb:113:在`send'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3 0.4 / lib中/在itializer.rb:113:'run'
/home/azzurrio/Desktop/berkmancenter-fair_use_tool-f8f65ea/config/environment.rb:9
/ usr / share / ruby​​-rvm / rubies / ruby -1.8.7-p358 / lib / ruby​​ / site_ruby / 1.8 / ruby​​gems / custom_require.rb:36:在`gem_original_require'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/ lib / ruby​​ / site_ruby / 1.8 / ruby​​gems / custom_require.rb:36:在'require'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/activesupport-2.3.4 /lib/active_support/dependencies.rb:156:in`require'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/activesupport-2.3.4/lib/active_support/依赖关系.rb:521:在`new_constants_in'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:156 :在`require'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/tasks/misc.rake:4
/ usr / share / ruby​​-rvm / gems / ruby​​-1.8.7-p358 / gems / rake-0.8.7 / lib / rake.rb:636:在`call'中
/ usr / share / ruby​​-rvm /gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:636:in `执行'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:631:in`each'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:631:in`execute'
/ usr / share / ruby​​- rvm / gems / ruby​​-1.8.7-p358 / gems / rake-0.8.7 / lib / rake.rb:597:在`invoke_with_call_chain'
/usr/share/ruby-rvm/rubies/ruby-1.8 .7-p358 / lib / ruby​​ / 1.8 / monitor.rb:242:在`synchronize'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8。 7 / lib / rake.rb:590:在`invoke_with_call_chain'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb :607:在`invoke_prerequisites'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:604:in`each'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:604:in`invoke_prerequisites'
/ usr / share / ruby​​-rvm / gems / ruby​​-1.8.7-p358 / gems / rake-0.8.7 / lib / rake.rb:596:in`invoke_with_call_chain'
/ usr / share / ruby​​-rvm / rubies /ruby-1.8.7-p358/lib/ruby/1.8/monitor.rb:242:in`syn chronize'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:590:in`invoke_with_call_chain'
/ usr / share / ruby​​-rvm / gems / ruby​​-1.8.7-p358 / gems / rake-0.8.7 / lib / rake.rb:583:in`invoke'
/ usr / share / ruby​​-rvm /gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2051:in`invoke_task'
/usr/share/ruby-rvm/gems/ruby-1.8。 7-p358 / gems / rake-0.8.7 / lib / rake.rb:2029:在`top_level'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake -0.8.7 / lib / rake.rb:2029:在`each'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/ rake.rb:2029:在`top_level'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2023:in`top_level'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2001:in`run'
/ usr / share / ruby​​- rvm / gems / ruby​​-1.8.7-p358 / gems / rake-0.8.7 / lib / rake.rb:2068:在`standard_exception_handl '
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:1998:in`run'
/ usr / share / ruby​​-rvm / gems / ruby​​-1.8.7-p358 / gems / rake-0.8.7 / bin / rake:31
/usr/share/ruby-rvm/gems/ruby-1.8。 7-p358 / bin / rake:19:在`load'中
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/bin/rake:19

有什么帮助吗?

解决方案

我有这个问题。
解决方案是将rubygems降级到您支持的版本。



我需要版本1.3.5(适用于rails 2.3.5)

所以你需要这样做:


gem install ruby​​gems-update -v 1.3.5



update_rubygems --version = 1.3.5

现在耙子应该可以工作。 / p>

I've an old version of Rails project which was built using BrowserCMS in the config/environment file

RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION

so I installed this gems using rvm so I can run it

$ gem list

*** LOCAL GEMS ***

actionmailer (2.3.8, 2.3.4)
actionpack (2.3.8, 2.3.4)
activerecord (2.3.8, 2.3.4)
activeresource (2.3.8, 2.3.4)
activesupport (2.3.8, 2.3.4)
bundler (1.1.4)
mysql (2.8.1)
rack (1.1.3, 1.0.1)
rails (2.3.4)
rake (0.8.7)

I run rake db:create it works fine, but when I run rake db:migrate I got this error

rake aborted!
undefined method `name' for "actionmailer":String

I tried using Trace but I didn't get anything can help

$ rake db:migrate --trace
(in /home/azzurrio/Desktop/berkmancenter-fair_use_tool-f8f65ea)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
undefined method `name' for "actionmailer":String
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/rails/gem_dependency.rb:268:in `=='
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:217:in `==='
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:217:in `matching_specs'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `find_all'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/specification.rb:411:in `each'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/specification.rb:410:in `each'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:216:in `find_all'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:216:in `matching_specs'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:238:in `to_specs'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems.rb:1210:in `gem'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/rails/gem_dependency.rb:73:in `add_load_paths'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/initializer.rb:301:in `add_gem_load_paths'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/initializer.rb:301:in `each'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/initializer.rb:301:in `add_gem_load_paths'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/initializer.rb:132:in `process'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/initializer.rb:113:in `send'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/initializer.rb:113:in `run'
/home/azzurrio/Desktop/berkmancenter-fair_use_tool-f8f65ea/config/environment.rb:9
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:156:in `require'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:521:in `new_constants_in'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:156:in `require'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rails-2.3.4/lib/tasks/misc.rake:4
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:604:in `each'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain'
/usr/share/ruby-rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/gems/rake-0.8.7/bin/rake:31
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/bin/rake:19:in `load'
/usr/share/ruby-rvm/gems/ruby-1.8.7-p358/bin/rake:19

any help please?

解决方案

I had this problem. The solution is to downgrade rubygems to a version you support.

I needed version 1.3.5 (for rails 2.3.5)

So you need to do:

gem install rubygems-update -v 1.3.5

update_rubygems --version=1.3.5

And now rake should work.

这篇关于未定义的方法'名称'为“actionmailer”:字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆