运行rake assets:precompile因错误而结束。找不到为什么它仍然需要 sassc,sassc 仅在使用从 Sprockets 3.x 升级到 4.x 的指南迁移到 sprockets 4 时才在项目中:
gem 'sass-rails', '>= 5'
bundle update sass-rails sprockets
Run Code Online (Sandbox Code Playgroud)
然后按照 dartsass-rails 安装文档进行操作。做过:
rails tmp:clear
rake assets:clobber
rake assets:precompile
Run Code Online (Sandbox Code Playgroud)
红宝石-3.1.2
gem 'rails', '7.0.3.1'
gem 'webrick'
gem 'sprockets-rails', '~> 3.4', '>= 3.4.2'
gem 'dartsass-rails', '~> 0.4.0'
...
Run Code Online (Sandbox Code Playgroud)
manifest.js 文件内容:
//= link_tree ../images
//= link application.css
//= link application.js
//
//= link_tree ../builds
Run Code Online (Sandbox Code Playgroud)
错误日志:
** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment …Run Code Online (Sandbox Code Playgroud) sprockets rails-sprockets dart-sass ruby-on-rails-7 ruby-3.1
在 XE2 上它编译没有问题,在 XE5 上显示这些错误:
FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.GetIsFocused
FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.GetEnabled
FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.GetAbsoluteEnabled
FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.GetPopupMenu
FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.EnterChildren
FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.ExitChildren
FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.DoActivate
FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.DoDeactivate
FMX.HintManager.pas(79): E2291 Missing implementation of interface method IControl.MouseClick
FMX.HintManager.pas(79): E2291 Missing …Run Code Online (Sandbox Code Playgroud)