我一直在争吵几个小时,无法弄清楚发生了什么。我试图运行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文件,结果发现我在该文件中有一些导致此问题的错误数据,所以这不是一个更广泛的环境问题。
答案 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语言的英文字符设置。