Rails 应用程序部署到 Heroku,构建问题

Rails app deployment into Heroku, build issues

我是整个 ruby rails 开发环境的新手,我正在努力将现有应用程序部署到 Heroku。

我已经与 Heroku 支持人员谈过,但他们未能继续解决我的问题,这令人失望。现在具体问题涉及以下终端命令:

$ git push heroku master

这是我的输出(我会从它开始出错的位置开始!):

remote:        Installing turbolinks 2.5.3
remote:        Installing rails 4.2.0
remote:        Your bundle is complete!
remote:        Gems in the groups development and test were not installed.
remote:        It was installed into ./vendor/bundle
remote:        Post-install message from rdoc:
remote:        Depending on your version of ruby, you may need to install ruby rdoc/ri data:
remote:        <= 1.8.6 : unsupported
remote:        = 1.8.7 : gem install rdoc-data; rdoc-data --install
remote:        = 1.9.1 : gem install rdoc-data; rdoc-data --install
remote:        >= 1.9.2 : nothing to do! Yay!
remote:        Bundle completed (39.87s)
remote:        Cleaning up the bundler cache.
remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        I, [2015-03-18T17:04:43.818368 #1194]  INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/FontAwesome-838af52e382b27dca33a344726a9ec67.otf
remote:        I, [2015-03-18T17:04:43.820455 #1194]  INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-429acacb01a51b0738d8b0c6dcee0fc4.eot
remote:        I, [2015-03-18T17:04:43.823090 #1194]  INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-9c8db592bac7eb9e7ef1b0c464140fa5.svg
remote:        I, [2015-03-18T17:04:43.825779 #1194]  INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-9bf0604ed1778de864df7e69a3348217.ttf
remote:        I, [2015-03-18T17:04:43.827790 #1194]  INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-ff4168b9c4bf807dd42d15ce204cb1ad.woff
remote:        I, [2015-03-18T17:04:49.756561 #1194]  INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/application-cba6abf49f8c4efcc9f21fa8851e620a.js
remote:        rake aborted!
remote:        Sass::SyntaxError: Invalid CSS after "": expected keyframes selector (e.g. 10%), was "0"
remote:        (in /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/app/assets/stylesheets/application.css)
remote:        (sass):11234
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/parser.rb:1165:in `expected'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/parser.rb:1101:in `expected'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/parser.rb:1081:in `expr!'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/static_parser.rb:46:in `parse_keyframes_selector'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:412:in `visit_rule'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `block in with_base'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:115:in `with_frame'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `with_base'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:501:in `block (2 levels) in visit_directive'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:501:in `map'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:501:in `block in visit_directive'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:179:in `with_environment
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:500:in `visit_directive'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `block in with_base'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:115:in `with_frame'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `with_base'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `map'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `visit_children'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:179:in `with_environment
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:166:in `visit_children'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `block in visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:186:in `visit_root'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:157:in `visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:8:in `visit'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/root_node.rb:36:in `css_tree'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/root_node.rb:20:in `render'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/engine.rb:268:in `render'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/sass_compressor.rb:24:in `evaluate'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:197:in `block in evaluate'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:194:in `each'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:194:in `evaluate'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/bundled_asset.rb:25:in `initialize'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:377:in `new'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:377:in `build_asset'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:94:in `block in build_asset'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/caching.rb:58:in `cache_asset'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:93:in `build_asset'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:287:in `find_asset'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:61:in `find_asset'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:211:in `block in find_asset
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:257:in `benchmark'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:210:in `find_asset'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:119:in `block in compile'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:118:in `each'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:118:in `compile'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/rake/sprocketstask.rb:146:in `with_logger'
remote:        /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'
remote:        Tasks: TOP => assets:precompile
remote:        (See full trace by running task with --trace)
remote:  !
remote:  !     Precompiling assets failed.
remote:  !
remote: 
remote:  !     Push rejected, failed to compile Ruby app
remote: 
remote: Verifying deploy...
remote: 
remote: !   Push rejected to quiet-springs-8146.
remote: 
To https://git.heroku.com/quiet-springs-8146.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/quiet-springs-8146.git'

这到底是什么意思,对于此类错误的潜在解决方案是什么?

如有任何帮助,我们将不胜感激!

application.css 文件包含的全部是我的 flash 样式(对于用户 authentication/signup/login 应用程序):Flash 只是包含这些元素的 class(顺便说一句,它确实有效,在我的浏览器中,Flash 消息看起来确实是 droid sans 和 13px 等)。

.flash {
    color: #363636;
    font-family: 'Droid Sans', sans-serif;
    font-size: 13px;
}

FOA:main.css.scss

/* GLOBAL CSS
 -------------------------------------------------- */

body {
    width: 100%;
    height: 100%;
    font-family: Lora,"Helvetica Neue",Helvetica,Arial,sans-serif;
    background-color: #000000;
}

html, body, #container {height: 100%;}

body > #container {height: auto; min-height: 5%;}

html {
    width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 35px;
    text-transform: uppercase;
    font-family: 'Roboto',"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
}

p {
    font-family: 'Droid Sans', sans-serif;
    margin: 0 0 25px;
    font-size: 13px;
    line-height: 1.5;
}

@media(min-width:768px) {
    p {
        margin: 0 0 35px;
        font-size: 20px;
        line-height: 1.6;
    }
}

a {
    color: #562cd4;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

a:hover,
a:focus {
    text-decoration: none;
    color: #5913d1;
}

.light {
    font-weight: 400;
}

/* CUSTOMIZE THE NAVBAR
 -------------------------------------------------- */

.navbar-custom {
    margin-bottom: 0;
    border-bottom: 1px solid rgba(255,255,255,.3);
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    background-color: #000000;
}

.navbar-custom .navbar-brand {
    font-weight: 600;
}

.navbar-custom .navbar-brand:focus {
    outline: 0;
}

.navbar-custom .navbar-brand .navbar-toggle {
    padding: 4px 6px;
    font-size: 16px;
    color: #ffffff;
}

.navbar-custom .navbar-brand .navbar-toggle:focus,
.navbar-custom .navbar-brand .navbar-toggle:active {
    outline: 0;
}

.navbar-custom a {
    color: #ffffff;
}

.navbar-custom .nav li a {
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}

.navbar-custom .nav li a:hover {
    outline: 0;
    color: rgba(255,255,255,.8);
    background-color: transparent;
}

.navbar-custom .nav li a:focus,
.navbar-custom .nav li a:active {
    outline: 0;
    background-color: transparent;
}

.navbar-custom .nav li.active {
    outline: 0;
}

.navbar-custom .nav li.active a {
    background-color: rgba(255,255,255,.3);
}

.navbar-custom .nav li.active a:hover {
    color: #ffffff;
}

@media(min-width:768px) {
    .navbar-custom {
        padding: 20px 0;
        border-bottom: 0;
        letter-spacing: 1px;
        background: 0 0;
        -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
        -moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
        transition: background .5s ease-in-out,padding .5s ease-in-out;
    }

    .navbar-custom.top-nav-collapse {
        padding: 0;
        border-bottom: 1px solid rgba(255,255,255,.3);
        background: #000;
    }
}

#fafa_inline {
    display: inline;
    color: #ffffff;
}

/* CUSTOMIZE THE JUMBOTRON
 -------------------------------------------------- */

.jumbotron {
    background-image:url('https://dl-web.dropbox.com/get/astroboxio_vela_mosaic_background.gif?_subject_uid=209608449&w=AABTZ4DArPvunSTYalnTRheoQM2Kb8Y1wPnlMZEl1Adfhg');
    height: 570px;
    background-repeat: no-repeat;
    background-size: cover
}

.jumbotron .title {
    text-align: center;
}

.jumbotron_image {
    margin-bottom: 50px;
}

.jumbotron .container {
    position: relative;
    top:10px;
}

.jumbotron astrobox {
    color: #ffffff;
    font-size: 110px;
    font-family: 'Basic', sans-serif;
    font-weight: bold;
    display: inline;
}

.jumbotron io {
    color: #ffffff;
    font-size: 48px;
    font-family: 'Lobster', sans-serif;
    font-weight: bold;
    display: inline;
}

.jumbotron .container p {
    font-size: 13px;
    color: #ffffff;
    text-align: center;
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    letter-spacing: 4px;
}

.jumbotron_paragraphs .jumbotron_image_ras {
    padding-bottom: 0px;
    margin-bottom: 5px;
}

.jumbotron_paragraphs .jumbotron_image_dotastronomy {
    padding-bottom: 0px;
    margin-bottom: 5px;
}

/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */
.carousel {
    background-color: #000000;
    height: 500px;
    margin-bottom: 60px;
    border: 1px solid black;
}

.carousel-caption {
    z-index: 10;
}

.carousel-caption h1 {
    z-index: 10;
}

.carousel-caption p {
    z-index: 10;
}

.carousel .item {
    height: 500px;
    background-color: #000000;
}
.carousel-inner > .item > img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    height: 500px;
}

.intro .intro-body {
    display: table-cell;
    vertical-align: middle;
}

.intro .intro-body .brand-heading {
    font-size: 40px;
}

.intro .intro-body .intro-text {
    font-size: 18px;
}

@media(min-width:668px) {
    .intro {
        height: 100%;
        padding: 0;
    }

    .intro .intro-body .brand-heading {
        font-size: 100px;
    }

    .intro .intro-body .intro-text {
        font-size: 26px;
    }
}

/* CUSTOMIZE NEIGHBORHOOD-GUIDES
 -------------------------------------------------- */

.neighborhood-guides {
    background-color: #000000;
    height: 490px;
}

.studio_pipeline {
    background-size: 60%;
}

.studio_pipeline h2 {
    color: #ffffff;
    background-color: #562cd4;
    background-size: 100%;
    padding: 0.5cm;
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: initial;
    border-top: 1px solid #dbdbdb;
    border-bottom: 1px solid #dbdbdb;
}

.studio_pipeline p {
    color: #ffffff;
    background-color: #000000;
    font-size: 13px;
    font-family: 'Droid Sans', sans-serif;
    text-align: center;
    margin-bottom: 13px;
}

.thumbnail {
    background-color: #000000;
    border: 0;
}

.thumbnail_description {
    background-color: #000000;
    padding: 0;
    text-align: center;
}

.thumbnail_description h1 {
    background-color: #000000;
    color: #ffffff;
    font-family: 'Droid Sans', sans-serif;
    font-weight: bold;
    font-size: 30px;
    text-transform: capitalize;
    letter-spacing: 0;
    padding: 5px;
    margin: 0 0 0 0;
}

.thumbnail_description p {
    background-color: #000000;
    color: #363636;
    font-family: 'Droid Sans', sans-serif;
    font-size: 13px;
    letter-spacing: 0;
    padding: 0;
}

.thumbnail img {
    background-color: #000000;
    padding: 20px;
    opacity: 0.85;
    border-radius: 100%;
}

.thumbnail img:hover {
    background-color: #000000;
    opacity: 1.0;
}

.btn-circle {
    width: 30px;
    height: 30px;
    margin-top: 15px;
    margin-left: 48.8%;
    padding: 8px;
    border: 1px solid #ffffff;
    border-radius: 100%!important;
    font-size: 13px;
    color: #ffffff;
    background: 0 0;
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}

.btn-circle:hover,
.btn-circle:focus {
    outline: 0;
    color: #ffffff;
    background: rgba(255,255,255,.1);
}

.btn-circle i.animated {
    -webkit-transition-property: -webkit-transform;
    -webkit-transition-duration: 1s;
    -moz-transition-property: -moz-transform;
    -moz-transition-duration: 1s;
}

.btn-circle:hover i.animated {
    -webkit-animation-name: pulse;
    -moz-animation-name: pulse;
    -webkit-animation-duration: 1.5s;
    -moz-animation-duration: 1.5s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

@-webkit-keyframes pulse {    
    0 {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-moz-keyframes pulse {    
    0 {
        -moz-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -moz-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        -moz-transform: scale(1);
        transform: scale(1);
    }
}

.content-section {
    padding-top: 100px;
}

.about {
    width: 100%;
    padding: 50px 0;
    color: #ffffff;
    background: url(../assets/images/downloads-bg.jpg) no-repeat center center scroll;
    background-color: #000;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}

#map {
    width: 100%;
    height: 200px;
    margin-top: 100px;
}

@media(min-width:767px) {
    .content-section {
        padding-top: 250px;
    }

    .carousel-caption p {
        margin-bottom: 20px;
        font-size: 21px;
        line-height: 1.4;
    }

    .about {
        padding: 100px 0;
    }

    #map {
        height: 400px;
        margin-top: 250px;
    }
}

.btn {
    border-radius: 0;
    text-transform: uppercase;
    font-family: 'Roboto',"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 14px;
    font-weight: 400;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.btn-default {
    border: 1px solid #ffffff;
    color: #ffffff;
    border-radius: 20%!important;
    background-color: transparent;
}

.btn-default:hover,
.btn-default:focus {
    border: 1px solid #ffffff;
    outline: 0;
    color: #ffffff;
    background-color: #562cd4;
}

ul.banner-social-buttons {
    margin-top: 0;
}

@media(max-width:1199px) {
    ul.banner-social-buttons {
        margin-top: 15px;
    }
}

@media(max-width:767px) {
    ul.banner-social-buttons li {
        display: block;
        margin-bottom: 20px;
        padding: 0;
    }

    ul.banner-social-buttons li:last-child {
        margin-bottom: 0;
    }
}

/* CUSTOMIZE THE STICKY BAR FOOTER
 -------------------------------------------------- */

.sticky-bar {
    background: #000000;
    bottom: 0;
    color: #D3D3D3;
    font-weight: 300;
    left: 0;
    margin: 0;
    opacity: 0.9;
    padding: 0em;
    position: fixed;
    width: 100%;
    z-index:99999;}

.sticky-bar-inner {
    margin:0 auto;
    text-align: center;
    width:100%;
    background-color: #D3D3D3;
    padding: 2px;
    font-family: 'Roboto', sans-serif;
    font-size: 11px;
    color: #000000;
}

.sticky-bar-inner p {
    margin:0 auto;
    padding: 2px;
    text-align: center;
    width:100%;
    font-size: 11px;

}

#footerlist {
    padding-left:0;
}

#footerlist li {
    display: inline;
    list-style-type: none;
}

::-moz-selection {
    text-shadow: none;
    background: #fcfcfc;
    background: rgba(255,255,255,.2);
}

::selection {
    text-shadow: none;
    background: #fcfcfc;
    background: rgba(255,255,255,.2);
}

img::selection {
    background: 0 0;
}

img::-moz-selection {
    background: 0 0;
}

body {
    webkit-tap-highlight-color: rgba(255,255,255,.2);
}

查看错误消息,我首先注意到的是您的文件的扩展名/app/assets/stylesheets/application.css

重命名

app/assets/stylesheets/application.css

app/assets/stylesheets/application.css.scss注意添加的扩展.scss

这样 sass gem 实际上可以预处理您的样式表。

更新

在提交对 git

的更改时使用选项 -a

git commit -am <commit message>

此选项将自动暂存已修改 and/or 删除的文件。在您的情况下,app/assets/stylesheets/application.css 将被视为已删除,app/assets/stylesheets/application.css.scss 将被视为新添加。

Sass::SyntaxError: Invalid CSS after "": expected keyframes selector (e.g. 10%), was "0" remote: (in /tmp/build_365c7241bf197a8f84d0ec4a70ddd900/app/assets/stylesheets/main.css.scss‌​:399)

要修复上述错误,在 app/assets/stylesheets/main.css.scss 中,您需要更新以下代码(使用 0% 而不是 0):

@-webkit-keyframes pulse { 
    // Use 0% and not 0    
    0% { 
        -webkit-transform: scale(1);
        transform: scale(1);
    }

   //...
}

@-moz-keyframes pulse {    
    // Use 0% and not 0  
    0% {
        -moz-transform: scale(1);
        transform: scale(1);
    }

    //...
}

如果你不想改变application.css。您可以创建新文件: 例如:

custom.css.scss

如果您使用 bootstrap,请将 bootstrap rails 添加到 Gemfile 并将以下行导入到 custom.css.scss:

@import "bootstrap-sprockets";
@import "bootstrap";

运行 命令:

$ bundle install
$ git push heroku master -f

如果你不能在 heroku 中使用 bootstrap: 打开 config/environments/production.rb 并编辑以下行:

config.assets.compile = false

config.assets.compile = true

再次推送到 github 和 heroku。