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

Rails 6部署Heroku报Sprockets::FileNotFound找不到jquery-ui scss如何解决

错误原因

部署时Sprockets扫描资产路径找不到jquery-ui对应的样式文件,核心问题有两个:

  1. 你当前package.json仅安装了jquery依赖,未安装jquery-ui相关包
  2. 如果你通过npm安装前端包,默认存放在node_modules目录,不在Sprockets默认的资产搜索路径范围内

修复方案

方案1:使用Rails生态专用的jquery-ui-rails gem(推荐,适配资产管道无需额外配置)

  • 第一步:在项目Gemfile中添加依赖
gem 'jquery-ui-rails'
  • 第二步:执行安装命令
bundle install
  • 第三步:如果你需要用到jquery-ui的交互脚本,还需要在app/assets/javascripts/application.js中添加引用(仅用到样式可以跳过)
//= require jquery-ui

修改完成后本地先执行rails assets:precompile验证无报错,再推送至Heroku即可。

方案2:使用npm包实现

  • 第一步:安装打包好的jquery-ui发行版
yarn add jquery-ui-dist
  • 第二步:给Sprockets添加node_modules搜索路径,在config/initializers/assets.rb末尾添加如下配置
Rails.application.config.assets.paths << Rails.root.join('node_modules')
  • 第三步:修改app/assets/stylesheets/application.scss中的引用语句,替换原有*= require jquery-ui为
*= require jquery-ui-dist/jquery-ui

如果需要用到js功能,在app/assets/javascripts/application.js中添加

//= require jquery-ui-dist/jquery-ui

同样本地执行rails assets:precompile验证通过后再部署即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 15:54:04