RoR 3.0: rake db: создать синтаксическую ошибку - PullRequest
1 голос
/ 09 декабря 2011

* Я собираюсь лучше изучить Rails 3.1, прежде чем продолжить с этим.Всем спасибо за помощь: я многому научился!*

Я пытаюсь создать онлайн-портфолио на основе Gullery, но я застрял в самом начале: я не могу создать базу данных.Когда я запускаю 'rake db: create', я получаю следующую ошибку:

rake aborted!

C: \ Sites \ gullery / RakeFile: 14: синтаксическая ошибка, неожиданная $end, ожидая keyword_end

Когда я запускаю полную трассировку, я получаю это:

C: \ Sites \ gullery> rake db: create --trace

рейк прерван!

C: / Sites / gullery / Rakefile: 14: синтаксическая ошибка, неожиданный конец $, ожидается ключевое слово_e nd

C: /RailsInstaller/Ruby1.9.2/lib/ruby / gems / 1.9.1 / gems / rake-0.9.2.2 / lib / rake / rake_ module.rb: 25: в `load '

C: /RailsInstaller/Ruby1.9.2/lib/ruby/gems / 1.9.1 / gems / rake-0.9.2.2 / lib / rake / rake_ module.rb: 25: в `load_rakefile '

C: /RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1 / gems / rake-0.9.2.2 / lib / rake / application.rb: 501: в `raw_load_rakefile '

C: /RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1 / gems / rake-0.9.2.2 / lib / rake / application.rb: 82: в `block in load_rakefile '

C: /RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1 / камни / рек-0,9.2.2 / lib / rake / application.rb: 133: в `standard_exception_handling '

C: /RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib / rake / appli cation.rb: 81: в `load_rakefile '

C: /RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake / appli cation.rb: 65: в `block in run '

C: /RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake / appli cation.rb: 133: в `standard_exception_handling '

C: /RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli cation.rb: 63: в `run '

C: /RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/bin/rake: 33:в `'

C: /RailsInstaller/Ruby1.9.2/bin/rake: 19: в` load'

C: /RailsInstaller/Ruby1.9.2/bin/rake: 19: в`'

Когда я искал в Google" синтаксическая ошибка, неожиданный конец $, ожидание keyword_end "в ответах, я предположил, что где-то пропустил конец.К сожалению, у меня нет опыта, чтобы узнать, какой файл отсутствует.Это даже правильная проблема?Если так, где я должен искать?Если нет, то что на самом деле происходит?

Я использую Ruby on Rails 3.0, Ruby 1.9.2 и mySQL.

Заранее спасибо!

РЕДАКТИРОВАТЬ:содержимое C: \ Sites \ gullery \ Rakefile:

<blockquote>    # Add your own tasks in files placed in lib/tasks ending in .rake,
    # for example lib/tasks/switchtower.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'
    RDoc::Task.new do |rdoc|

    require 'tasks/rails'

    # Fail if unit tests fail
    task :default => [:test_units, :test_functional]
</blockquote>

РЕДАКТИРОВАТЬ 2: Добавление «конца» в Rakefile устраняет синтаксическую ошибку, но база данных по-прежнему не будет работать.

Новый Rakefile:

<blockquote># Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/switchtower.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'
RDoc::Task.new do |rdoc|
end

require 'tasks/rails'

# Fail if unit tests fail
task :default => [:test_units, :test_functional]</blockquote>

И новая ошибка / трассировка:

<blockquote>C:\Sites\gullery>rake db:create --trace

WARNING: 'require 'rake/rdoctask'' is deprecated.  Please use 'require 'rdoc/tas
k' (in RDoc 2.4.2+)' instead.
    at C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rak
e/rdoctask.rb

C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/rdoc/task.rb:30: warning: already ini
tialized constant Task

rake aborted!

Don't know how to build task 'db:create'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task_
manager.rb:49:in `[]'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli
cation.rb:115:in `invoke_task'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli
cation.rb:94:in `block (2 levels) in top_level'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli
cation.rb:94:in `each'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli
cation.rb:94:in `block in top_level'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli
cation.rb:133:in `standard_exception_handling'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli
cation.rb:88:in `top_level'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli
cation.rb:66:in `block in run'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli
cation.rb:133:in `standard_exception_handling'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli
cation.rb:63:in `run'

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in
 `'

C:/RailsInstaller/Ruby1.9.2/bin/rake:19:in `load'

C:/RailsInstaller/Ruby1.9.2/bin/rake:19:in `'</blockquote>

1 Ответ

0 голосов
/ 10 января 2012

Я использую Rails 3.1 и мой Rakefile выглядит так:

#!/usr/bin/env rake
# 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.expand_path('../config/application', __FILE__)

V0100::Application.load_tasks

V0100 - это имя моего приложения, соответствует вашей "гастрономии".

...