Heroku构建在uglifier上失败

时间:2014-12-26 16:55:33

标签: ruby-on-rails heroku gemfile

我的最小应用程序在本地运行,我没有捆绑错误。但是,当我推送到heroku时,构建在资产期间失败:预编译步骤:

...
Bundle completed (3.24s)
Cleaning up the bundler cache.
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompole
rake aborted!
LoadError: cannot load such file -- uglifier
(in /tmp/build_.../app/assets/javascripts/application.js)

注意:
1.我当地没有使用uglifier宝石 2.我没有文件app / assets / javascripts / application.js

我尝试过这些Gemfile解决方案:
A)添加uglifier宝石
B)将uglifier添加到资产组中 C)从Gemfile中完全删除uglifier并rake卸载所有版本

下一步是什么?

4 个答案:

答案 0 :(得分:14)

如果您想压缩资产,更好的解决方案是将uglifier添加到您的GEMFILE中:

gem 'uglifier'

答案 1 :(得分:13)

在config / environments / production.rb

中注释此行
config.assets.js_compressor = :uglifier

答案 2 :(得分:2)

如果您有兴趣继续使用uglifier,可以将其添加到Gemfile中(并与Bundler一起安装),如@mindtonic所述。

此外,如果您使用的是ES6,则需要切换:

config.assets.js_compressor = :uglifier

收件人:

config.assets.js_compressor = Uglifier.new(harmony: true)

https://github.com/lautis/uglifier/issues/127

中所述

答案 3 :(得分:0)

你必须关注两点:

第 1 点。 Gem 的版本:这应该是 4.2

gem 'uglifier', '~> 4.2'

第 2 点。现在使用 js 压缩器

config.assets.js_compressor = Uglifier.new(harmony: true)