我的最小应用程序在本地运行,我没有捆绑错误。但是,当我推送到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卸载所有版本
下一步是什么?
答案 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)
中所述
答案 3 :(得分:0)
你必须关注两点:
第 1 点。 Gem 的版本:这应该是 4.2
gem 'uglifier', '~> 4.2'
第 2 点。现在使用 js 压缩器
config.assets.js_compressor = Uglifier.new(harmony: true)