1

我已经为此争论了几个小时,无法弄清楚发生了什么。我正在尝试运行 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>'

我不知道是什么原因造成的。我尝试删除我最近安装的 gem,但不确定我还能做什么。

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

关于可能导致这种情况的任何想法?


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

4

2 回答 2

3

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

更新

将这些行添加到 Gemfile 的顶部(在此处找到解决方案)

if RUBY_VERSION =~ /1.9/
  Encoding.default_external = Encoding::UTF_8
  Encoding.default_internal = Encoding::UTF_8
end
于 2013-05-22T01:51:27.213 回答
0

确保您没有以罗马字(日语)输入文件。或者其他一些非 US-ASCII 语言的英文字符设置。

于 2013-07-06T01:54:51.783 回答