heroku 运行 rake 资产:预编译中止,因为文件具有无效的 UTF-8 字节序列
Posted
技术标签:
【中文标题】heroku 运行 rake 资产:预编译中止,因为文件具有无效的 UTF-8 字节序列【英文标题】:heroku run rake assets:precompile aborted because a file has a invalid UTF-8 byte sequence 【发布时间】:2012-12-02 01:20:14 【问题描述】:这是我运行 git push heroku master 时得到的确切消息
** Execute assets:precompile:primary
rake aborted!
/app/app/assets/images/images/index_solid.js has a invalid UTF-8 byte sequence
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/utils.rb:19:in `block (2 levels) in read_unicode'
/app/vendor/bundle/ruby/1.9.1/gems/sprockets-2.2.2/lib/sprockets/utils.rb:13:in `tap'
我不小心把一个包含无效 utf-8 字节的 js 文件放到了 images 文件夹中。但是在我删除文件并删除 tmp/cache/assets 中的所有文件后,我仍然收到相同的错误消息。我都试过了
git push heroku master
heroku run rake assets:precompile --trace
但仍收到类似消息。谢谢
【问题讨论】:
你试过heroku run rake assets:clean
吗?
是的,我有,但仍然收到相同的错误消息
【参考方案1】:
您可能仍需要从 Git 存储库中删除 .js 文件(这与将其作为文件删除不同)。
尝试从控制台运行这些命令集:
# Add files that might have been previously untracked
$ git add .
# Show the status
$ git status
# Remove deleted files from the git repository
# ... (if any deleted files show up in the 'unstaged changes' section)
$ for i in `git status | grep deleted | awk 'print $3'`; do git rm $i; done
# Commit the changes
$ git commit -am "Deleted files"
这将帮助您从 git 存储库中删除已删除的文件。
在推送到 Heroku 之前,还要确保您确实将这些更改提交到您的 master
分支或将您所做的分支合并到您的 master
分支中。
【讨论】:
以上是关于heroku 运行 rake 资产:预编译中止,因为文件具有无效的 UTF-8 字节序列的主要内容,如果未能解决你的问题,请参考以下文章
如何解决极其缓慢的 rake assets:在 heroku 上预编译?
Rails 4 - AwesomeEotPath 之后 Rake 中止,无效的 CSS