You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在命令行为Sprockets注册Terser压缩器并解决未知压缩器报错

问题原因

这个报错是Sprockets命令行工具的参数加载顺序导致的:命令行工具会先解析--js-compressor这类功能参数,完成参数校验后才会加载--require指定的自定义脚本。你在脚本里注册Terser的操作发生在参数校验之后,所以程序处理--js-compressor=terser的时候,Terser还没有被注册到压缩器列表里,就会抛出未知压缩器的错误。

解决方案

你已经在自定义注册脚本里加了Sprockets.js_compressor = :terser这行配置,直接删掉命令行里的--js-compressor=terser参数即可,不需要额外在命令行指定压缩器,脚本里的配置会直接生效。

修改后的命令参考:

sprockets --require ./register_compressor.rb [你的其余参数]

可选验证操作

如果修改后还是不生效,可以做以下检查:

  • 确认ruby-terser包已经正确安装,Debian系统可以直接用apt install ruby-terser安装官方源包,避免gem安装和系统版本冲突
  • 可以在你的资源输出目录里随便打个带ES6语法的JS包,检查输出内容是否已经被压缩,确认Terser是否生效

内容的提问来源于stack exchange,提问作者crunchytacogal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:36:04