Rails预编译错误(无效的UTF-8字节序列)

时间:2013-01-17 20:44:58

标签: ruby-on-rails ruby heroku precompile

我不小心在资产/图片中放了一个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'

2 个答案:

答案 0 :(得分:0)

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

heroku run bash

答案 1 :(得分:0)

您可以查看几个选项。像这样的错误通常是由于yaml文件中的非ASCII字符(如Ñ)。

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

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

,我认为它不会起作用