Rails 7 个资产管道 SassC::SyntaxError with Tailwind
Rails 7 asset pipeline SassC::SyntaxError with Tailwind
我正在努力将新的 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
设置项目。开发模式工作正常,只是生产部署。
我什至不确定从哪里开始调试它。
来自rails顺风自述文件
Tailwind uses modern CSS features that are not recognized by the sassc-rails extension that was included by default in the Gemfile for Rails 6. In order to avoid any errors like SassC::SyntaxError, you must remove that gem from your Gemfile.
阻止 sassc-rails 设置 sass,因为压缩器已为我修复它。
将此添加到 application.rb
config.assets.css_compressor = nil
和Vincent的回答类似,我把config.assets.css_compressor = nil
放在了config/environments/production.rb
里。把它放在 application.rb
没用。
我还安装了 sassc-rails
gem
我正在努力将新的 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
设置项目。开发模式工作正常,只是生产部署。
我什至不确定从哪里开始调试它。
来自rails顺风自述文件
Tailwind uses modern CSS features that are not recognized by the sassc-rails extension that was included by default in the Gemfile for Rails 6. In order to avoid any errors like SassC::SyntaxError, you must remove that gem from your Gemfile.
阻止 sassc-rails 设置 sass,因为压缩器已为我修复它。
将此添加到 application.rb
config.assets.css_compressor = nil
和Vincent的回答类似,我把config.assets.css_compressor = nil
放在了config/environments/production.rb
里。把它放在 application.rb
没用。
我还安装了 sassc-rails
gem