【问题标题】:Rails 7 asset pipeline SassC::SyntaxError with TailwindRails 7 资产管道 SassC::SyntaxError 与 Tailwind
【发布时间】:2022-01-20 20:18:21
【问题描述】:

我正在努力将一个新的 Rails 7 项目部署到生产环境(在 Heroku 和 Render.com 上尝试),并且在构建过程中遇到以下错误:

$ tailwindcss -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css

       Done in 408ms.
       Done in 0.90s.
       rake aborted!
       SassC::SyntaxError: Error: Function rgb is missing argument $green.
               on line 428 of stdin
       >>   color: rgb(29 78 216 / var(--tw-text-opacity));

          ---------^
       stdin:428

这就是我认为相关的部分,但如果有帮助,这里还有更多的输出上下文。

Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       yarn install v1.22.17
       [1/4] Resolving packages...
       [2/4] Fetching packages...
       [3/4] Linking dependencies...
       [4/4] Building fresh packages...
       Done in 5.10s.
       yarn run v1.22.17
       $ esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds
       
         app/assets/builds/application.js      185.5kb
         app/assets/builds/application.js.map  301.0kb
       
       Done in 0.10s.
       yarn install v1.22.17
       [1/4] Resolving packages...
       success Already up-to-date.
       Done in 0.12s.
       yarn run v1.22.17
       $ tailwindcss -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css
       
       Done in 408ms.
       Done in 0.90s.
       rake aborted!
       SassC::SyntaxError: Error: Function rgb is missing argument $green.
               on line 428 of stdin
       >>   color: rgb(29 78 216 / var(--tw-text-opacity));
       
          ---------^
       stdin:428
       /tmp/build_d9d0bde2/vendor/bundle/ruby/3.0.0/gems/sassc-2.4.0/lib/sassc/engine.rb:50:in `render'
       /tmp/build_d9d0bde2/vendor/bundle/ruby/3.0.0/gems/sassc-rails-2.1.2/lib/sassc/rails/compressor.rb:29:in `call'
       /tmp/build_d9d0bde2/vendor/bundle/ruby/3.0.0/gems/sprockets-4.0.2/lib/sprockets/sass_compressor.rb:30:in `call'
       /tmp/build_d9d0bde2/vendor/bundle/ruby/3.0.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84:in `call_processor'

我使用rails new project_name -j esbuild --css tailwind 设置项目。开发模式工作正常,只是生产部署。

我什至不确定从哪里开始调试。

【问题讨论】:

    标签: ruby-on-rails build asset-pipeline tailwind-css ruby-on-rails-7


    【解决方案1】:

    来自rails顺风自述文件

    Tailwind 使用了 sassc-rails 扩展无法识别的现代 CSS 功能,该扩展默认包含在 Rails 6 的 Gemfile 中。为了避免任何类似 SassC::SyntaxError 的错误,您必须从 Gemfile 中删除该 gem .

    https://github.com/rails/tailwindcss-rails

    【讨论】:

    • 如果我这样做,那么我会收到一个新错误:LoadError: cannot load such file -- sassc
    • 你知道sassc有宝石吗?
    • 你可能有一个依赖于 sassc 的依赖。检查您的 Gemfile.lock
    猜你喜欢
    • 1970-01-01
    • 2016-04-20
    • 2019-10-02
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多