【问题标题】:Heroku deployment - Sass::SyntaxError: File to import not found or unreadable: bootstrap-sprocketsHeroku 部署 - Sass::SyntaxError: File to import not found or unreadable: bootstrap-sprockets
【发布时间】:2016-04-22 10:53:03
【问题描述】:

我开始使用引导程序版本 4。并开始收到此错误部署到 Heroku。我的样式表是 custom.css.scss。应用程序在开发中工作没有问题。已发布未开始升级到 bootstrap v4。 当我使用 bootstrap v3 时,我从来没有遇到过这个部署问题。我花了很多时间查看其他帖子的不同建议,但无济于事。

bootstrap.custom.css.scss 文件

 @import "bootstrap";

applications.scss

 /*
 *= require_tree .
 *= require_self
 */

应用程序.js

  = require jquery
  = require tether
  = require bootstrap-sprockets
  = require jquery_ujs
  = require turbolinks
  = require_tree .

heroku 部署出错

rake aborted! 
Sass::SyntaxError:File to import not found or unreadable:bootstrap-sprockets.
remote: Load paths:
remote: /tmp/build_9899a15a0b71b25c23a9b8dfc6d02e80/app/assets/images
remote:/tmp/build_9899a15a0b71b25c23a9b8dfc6d02e80/app/assets/javascripts
remote:/tmp/build_9899a15a0b71b25c23a9b8dfc6d02e80/app/assets/stylesheets
remote:/tmp/build_9899a15a0b71b25c23a9b8dfc6d02e80/vendor/assets/javascripts
remote:/tmp/build_9899a15a0b71b25c23a9b8dfc6d02e80/vendor/assets/stylesheets

宝石文件

 gem 'rails', '4.2.0'
 gem 'pg'
 gem 'sass-rails', '>= 5.0'
 gem 'uglifier', '>= 1.3.0'
 gem 'coffee-rails', '~> 4.1.0'
 gem 'jquery-rails'
 gem 'turbolinks'
 gem 'jbuilder', '~> 2.0'
 gem 'sdoc', '~> 0.4.0', group: :doc

已安装的宝石

 gem 'bootstrap', '~> 4.0.0.alpha3'
 gem 'sass', '~> 3.4', '>= 3.4.21'
 gem 'sprockets-rails', '~> 3.0'
 source 'https://rails-assets.org' do
  gem 'rails-assets-tether', '>= 1.1.0'
 end
 gem 'rails_12factor', group: :production
 gem 'font-awesome-rails', '~> 4.4.0.0'
 gem 'pry-rails', :group => :development
 gem 'autoprefixer-rails', '~> 6.0.3'
 gem 'devise', '~> 3.5.2'
 gem 'friendly_id', '~> 5.1.0'
 gem 'simple_form'

【问题讨论】:

  • 那是你完整的application.scss 吗?如果是您缺少/*。你是不是不小心把第一行删了?
  • 在打字的时候不小心把行打断了。我刚刚更新了帖子。谢谢

标签: ruby-on-rails ruby heroku twitter-bootstrap-4 bootstrap-4


【解决方案1】:

您可能会想要为您的 application.scss 文件坚持使用 @import 方法。查看这篇博文了解更多信息:

https://blog.pivotal.io/labs/labs/structure-your-sass-files-with-import

看起来 Rails 团队也建议使用 @import 路径。

【讨论】:

    【解决方案2】:

    我们已经在 Heroku 上成功部署了bootstrap 4.0.0.alpha 并使用了以下内容:

    #app/assets/javascripts/application.coffee
    #= require tether
    #= require bootstrap
    
    #app/assets/stylesheets/application.sass
    @import bootstrap
    

    我们不使用bootstrap gem,我们使用来自rails-assets 的直接实现:


    作为一个强烈的建议,您最好使用Rails Assets 直接通过其存储库提取任何“资产”宝石:

    #Gemfile
    source "https://rails-assets.org"
    
    gem 'rails-assets-bootstrap', ">= 4.0.0.alpha.2"
    gem 'rails-assets-tether'
    

    【讨论】:

    • 试过这个并没有解决问题。仍然得到这个错误。耙中止! Sass::SyntaxError: 找不到或无法读取要导入的文件:bootstrap-sprockets。
    • 你删除了require bootstrap-sprockets吗?
    • 有趣。您是否用我建议的宝石替换了您的宝石?
    • 我在 push 并提交到 git 后开始工作。现在我的 custom.css.scss 样式表不工作了。
    • 好的,那么你在哪里调用自定义?在您的布局中还是在您的 application.css 中?
    猜你喜欢
    • 2016-09-20
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 2019-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    相关资源
    最近更新 更多