2011-12-09 55 views
1

*在继续学习之前,我将更好地学习Rails 3.1。感谢您的帮助,每个人:我学到了很多东西! *RoR 3.0:rake db:创建语法错误

我想创建一个基于Gullery的在线投资组合,但我一开始就陷入了困境:我无法创建数据库。当我运行“耙分贝:创建”,我得到以下错误:

rake aborted!

C:\Sites\gullery/RakeFile:14: syntax error, unexpected $end, expecting keyword_end

当我运行一个完整的痕迹,我得到这个:

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

rake aborted!

C:/Sites/gullery/Rakefile:14: syntax error, unexpected $end, expecting keyword_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:in `load'

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

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

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

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:81:in `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: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 `'

当我搜索“语法错误,意外$ end,期待keyword_end“,答案表明我错过了某个地方的结局。不幸的是,我没有经验知道哪个文件丢失了。这甚至是正确的问题吗?如果是这样,我应该在哪里看?如果不是,实际上发生了什么?

我正在使用Ruby on Rails 3.0,Ruby 1.9.2和mySQL。

在此先感谢!

编辑:C的内容:\网站\ gullery \ Rake文件:

         
 
# 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]

编辑2:添加一个“结束”的Rake文件消除了语法错误,但我该数据库仍然无法工作。

新的Rakefile:

         
 
# 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]

而且新的错误/跟踪:

         
 
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 `'
+0

你一定要向我们展示'C:\ Sites \ gullery/RakeFile'的内容,或者自己检查第14行的破解内容。 – jibiel

+0

这是14的意思吗?这有助于知道!我将添加上面的RakeFile的内容。 –

回答

0

我运行的Rails 3.1和我的Rake文件看起来像这样:

#!/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是我的应用程序名称,对应于您的“沟壑”。

+0

这就是我的另一个应用程序的rakefile。我敢打赌,这是一个线索,但我想我会放弃这个特定的项目。在尝试找出早期版本之前,我需要正确学习Rails 3.1。 :) –