Rails - rake db:重置rake错误

时间:2013-05-22 01:46:57

标签: ruby-on-rails

我一直在争吵几个小时,无法弄清楚发生了什么。我试图运行rake db:reset并得到以下错误:

rake aborted!
/Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/gems/rake-10.0.4/lib/rake/trace_output.rb:16:in `block in trace_on': invalid byte sequence in US-ASCII (ArgumentError)
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/gems/rake-10.0.4/lib/rake/trace_output.rb:14:in `map'
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/gems/rake-10.0.4/lib/rake/trace_output.rb:14:in `trace_on'
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/gems/rake-10.0.4/lib/rake/application.rb:328:in `trace'
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/gems/rake-10.0.4/lib/rake/application.rb:183:in `display_error_message'
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/gems/rake-10.0.4/lib/rake/application.rb:169:in `rescue in standard_exception_handling'
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/gems/rake-10.0.4/lib/rake/application.rb:159:in `standard_exception_handling'
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/gems/rake-10.0.4/bin/rake:33:in `<top (required)>'
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/bin/rake:23:in `load'
from /Users/zephyr4434/.rvm/gems/ruby-1.9.3-p385/bin/rake:23:in `<main>'

我不知道造成这种情况的原因。我尝试删除我最近安装的宝石,但不确定我还能做些什么。

rake db:reset似乎工作得很好,然后我在控制台的末尾得到了这个。

有什么可能导致这种情况的想法?


好的,我明白了。我忘记了rake db:reset也运行了seeds.rb文件,结果发现我在该文件中有一些导致此问题的错误数据,所以这不是一个更广泛的环境问题。

2 个答案:

答案 0 :(得分:3)

#encoding: utf-8放在Rakefile的第一行

<强>更新

将这些行添加到Gemfile的顶部(找到的解决方案here

if RUBY_VERSION =~ /1.9/
  Encoding.default_external = Encoding::UTF_8
  Encoding.default_internal = Encoding::UTF_8
end

答案 1 :(得分:0)

确保您没有在romaji(日语)中输入您的文件。 或其他非US-ASCII语言的英文字符设置。