【问题标题】:rake db:migrate gives me rake aborted errorrake db:migrate 给我 rake aborted 错误
【发布时间】:2013-01-07 15:44:57
【问题描述】:

我正在关注 Lynda ruby​​ on rails 教程。我被要求输入“rake db:migrate”。然而,这是我收到的错误。

lexi87$ rake db:migrate
rake aborted!
/Users/lexi87/Sites/simple_cms/db/migrate/20130107145627_create_users.rb:14: syntax error, unexpected $end, expecting keyword_end
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `block in require'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236:in `load_dependency'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:537:in `load_migration'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:533:in `migration'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:528:in `migrate'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:720:in `block (2 levels) in migrate'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:777:in `call'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:777:in `ddl_transaction'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:719:in `block in migrate'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:700:in `each'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:700:in `migrate'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:570:in `up'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/migration.rb:551:in `migrate'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/gems/activerecord-3.2.9/lib/active_record/railties/databases.rake:179:in `block (2 levels) in <top (required)>'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/bin/ruby_noexec_wrapper:14:in `eval'
/Users/lexi87/.rvm/gems/ruby-1.9.2-p320/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

我在我应该在的目录中,即“sites/simple_cms”。我已经安装了 rake 并且还运行了“gem install bundle”和“bundle install”。我在目录中完成了此操作,然后在“站点目录”甚至主目录中完成了此操作。没什么大不了的。

【问题讨论】:

  • 显示文件 db/migrate/20130107145627_create_users.rb 的内容
  • 类 CreateUsers 25 t.string "last_name", :limit => 50 t.string "email", :default => "", :null => false t.string "password", :limit => 40 t.timestamps end end def self.down drop_table :users end
  • 找到答案,需要额外的“结束”

标签: ruby-on-rails


【解决方案1】:
/Users/lexi87/Sites/simple_cms/db/migrate/20130107145627_create_users.rb:14: syntax error, unexpected $end, expecting keyword_end

从上面的代码行“语法错误,意外 $end,期待关键字_end ",我认为您在迁移文件中添加了一个额外的结尾。只需检查您是否有多余的结尾或者您错过了在迁移文件中添加结尾

【讨论】:

  • 我找到了答案,但是现在不允许我发布答案。我在底部缺少了一个额外的“结束”。
【解决方案2】:

抱歉,我发现了问题所在。我在创建用户文件的底部缺少第二个“结束”。

在整个教程中,我一直注意到有些行我必须添加,但他们并没有告诉你。现在我可以继续我的旅程了,谢谢大家的建议!

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 2018-02-05
    • 2011-10-07
    • 1970-01-01
    • 2011-09-16
    • 1970-01-01
    相关资源
    最近更新 更多