【问题标题】:Rails precompiling error (invalid UTF-8 byte sequence)Rails 预编译错误(无效的 UTF-8 字节序列)
【发布时间】:2013-01-17 20:44:57
【问题描述】:

我不小心在 assets/images 中放了一个 js 文件,现在即使我删除了 js 文件,heroku 也不让我预编译我的资源。

这是我收到的错误消息

AssetSync: YAML file found /tmp/build_326asn5xl82tm/config/asset_sync.yml settings will be merged into the configuration
       rake aborted!
       /tmp/build_326asn5xl82tm/app/assets/images/images/index_solid.js has a invalid UTF-8 byte sequence
       /tmp/build_326asn5xl82tm/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/utils.rb:19:in `block (2 levels) in read_unicode'

【问题讨论】:

  • 你应该试着清空你的 /tmp/ 目录
  • 我试过了。仍然收到相同的错误消息

标签: ruby-on-rails ruby heroku precompile


【解决方案1】:

尝试进入 Heroku bash 并使用 rm 删除文件。

heroku run bash

【讨论】:

  • 我试过了。它说没有这样的文件或目录。我删除了应用程序文件夹中的所有文件,但错误仍然存​​在。
【解决方案2】:

您可以查看几个选项。此类错误通常是由于 yaml 文件中存在非 ASCII 字符(如 Ñ)。

我想我记得运行过这个错误,最后我只是删除了非 ASCII 字符。在js文件中。

有时可以通过安装magic_encoding gem 并在文件顶部使用# encoding: utf-8 来解决此类错误。但是,鉴于错误,我认为它不会起作用

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多