ArgumentError: Invalid option: copyright When precompiling assets

ArgumentError: Invalid option: copyright When precompiling assets

我刚刚将 Uglier 升级到 4.1.6,它已经过时了,但是在尝试为生产预编译我的资产后,我收到了这个错误:

ArgumentError: Invalid option: copyright

我以为可能是我的链轮问题,但我发现升级链轮可能很复杂,我不想破坏任何东西,所以可能认为升级链轮没有必要。

我的链轮版本是

sprockets ~> 3.4.0
sprockets-rails ~> 2.3.3

我的 Rails 版本是 4.2.5 而我以前的 uglifier 版本是 1.3.0 (非常过时)哈哈

我的猜测是,在您实例化丑化器的 rails 环境中的某处,您设置了版权选项密钥。 我的意思是 - 尝试搜索类似这样的内容:

...
config.assets.js_compressor = Uglifier.new(
   :copyright => false, # <--- this
   :mangle => true,
...

您可以删除该选项键,除非您真的需要它,然后再次尝试预编译以查看这是否能解决您的问题...

对于遇到同样问题的人,将 uglifer 降级到 3.2 可以解决我的问题:

# Gemfile

gem 'uglifier', '~> 3.2'

在丑化者 4 中删除的选项: https://github.com/lautis/uglifier/blob/master/CHANGELOG.md#400-2-december-2017