22

ruby 1.9.3 にアップグレードした後、アプリの 1 つが正常に動作していますが、変換しようとしている 2 つ目のアプリは、capistrano でデプロイしようとすると「assets:precompile」段階で失敗します。スタックトレースは次のとおりです。

    rake aborted!
    rake aborted!
    invalid byte sequence in US-ASCII
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/trace_output.rb:16:in `block in trace_on'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/trace_output.rb:14:in `map'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/trace_output.rb:14:in `trace_on'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/application.rb:328:in `trace'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/application.rb:183:in `display_error_message'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/application.rb:169:in `rescue in standard_exception_handling'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/application.rb:159:in `standard_exception_handling'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/application.rb:88:in `load_rakefile'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/application.rb:72:in `block in run'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@global/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@rails3211/bin/ruby_noexec_wrapper:14:in `eval'
    /Users/george/.rvm/gems/ruby-1.9.3-p392@rails3211/bin/ruby_noexec_wrapper:14:in `<main>'    

私は数多くの投稿を読み、いくつかの提案を試みましたが、役に立ちませんでした。gemfile の先頭に以下を追加してみました。

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

しかし、違いはありませんでした。

次のようにLANGおよびLC_ALL環境変数を確認しました

$ echo $LC_ALL
en_NZ.UTF-8

$ echo $LANG
en_NZ.UTF-8

残念ながら、メッセージをまったく理解できず、問題のあるファイルを特定する方法もわかりません。

rake タスクを実行できません - 同じエラーが発生します。

開発モードでは、アプリケーションを完全に正常に実行できることに注意してください。

4

7 に答える 7

30

追加

#encoding: utf-8 

あなたのRakefileの最初の行(または奇妙な文字を含むファイル)に

于 2013-04-11T11:55:55.533 に答える
2

ファーストラン

$ sudo gem install magic_encoding

次に、フォルダーに移動して実行します

$ magic_encoding

準備!

于 2014-03-28T16:55:20.627 に答える
1

同様の問題があり、「エラー」は私の名によるものでした: US-ASCII 以外の文字 (ö) が含まれています。これは setup.rb に出力され、問題を引き起こしました。「oe」に変更したところ、うまくいきました。

bitnami にメールして何とか変更させてもらいます

于 2013-12-06T10:40:25.690 に答える
0

rake タスクを実行しようとすると、同様のエラーが発生しました (Ruby 1.9.3 で Rails 3.2 を使用しています)。上記のすべてのソリューションを試しましたが、成功しませんでした。後で、エラーの原因が特定の gem であることがわかりました (私の場合は、数日前に更新された Faker gem でした)。私は宝石を削除し(使用されていませんでした)、すべてが機能し始めました!したがって、私のアドバイスは、この種の問題に遭遇し、ここにリストされている解決策のいずれも機能しない場合は、各 gem のバージョンを確認し、それらのいずれかが更新されていないかどうかを確認することです。それらを削除するか、互換性のあるバージョンを設定してみてください。

于 2016-02-23T13:53:34.173 に答える