Rails 5 - Heroku:预编译资源失败(Sass::语法错误:在"...lflings-regular":预期")



我正在尝试将教程博客rails(5.2.1(应用程序推送到heroku。我已经在SO上检查了所有类似的问题,但还没有找到答案。我得到的错误是:

remote: -----> Detecting rake tasks
remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        Yarn executable was not detected in the system.
remote:        Download Yarn at https://yarnpkg.com/en/docs/install
remote:        I, [2020-02-21T17:17:19.342502 #751]  INFO -- : Writing /tmp/build_9a4b8f93edcb6949bd3f6eab0443fee7/public/assets/blog-c4dff50241ee865870a1e61848b014b1bfe41645844507124353abe96a2d563a.jpg
remote:        I, [2020-02-21T17:17:19.348422 #751]  INFO -- : Writing /tmp/build_9a4b8f93edcb6949bd3f6eab0443fee7/public/assets/workplace-8b957cb3928834865a124fc613d371b51b2bd32f806caa4fef1d538ea6af0bcf.jpg
remote:        I, [2020-02-21T17:17:24.225768 #751]  INFO -- : Writing /tmp/build_9a4b8f93edcb6949bd3f6eab0443fee7/public/assets/application-b0891f71e83fe8da7539d2c04309266db2d56be33bf3a5453b8ada6570a61a16.js
remote:        I, [2020-02-21T17:17:24.226500 #751]  INFO -- : Writing /tmp/build_9a4b8f93edcb6949bd3f6eab0443fee7/public/assets/application-b0891f71e83fe8da7539d2c04309266db2d56be33bf3a5453b8ada6570a61a16.js.gz
remote:        DEPRECATION WARNING on line 12 of /tmp/build_9a4b8f93edcb6949bd3f6eab0443fee7/vendor/bundle/ruby/2.5.0/gems/bootstrap-sass-3.4.1/assets/stylesheets/_bootstrap-mincer.scss:
remote:        #{} interpolation near operators will be simplified in a future version of Sass.
remote:        To preserve the current behavior, use quotes:
remote:        
remote:          unquote(""<%- asset_path("#{$path}".replace(/[#?].*$/, '')) + "#{$path}".replace(/(^[^#?]*)([#?]?.*$)/, '$2') %>"")
remote:        
remote:        You can use the sass-convert command to automatically fix most cases.
remote:        
remote:        
remote:        DEPRECATION WARNING on line 16 of /tmp/build_9a4b8f93edcb6949bd3f6eab0443fee7/vendor/bundle/ruby/2.5.0/gems/bootstrap-sass-3.4.1/assets/stylesheets/_bootstrap-mincer.scss:
remote:        #{} interpolation near operators will be simplified in a future version of Sass.
remote:        To preserve the current behavior, use quotes:
remote:        
remote:          unquote('"<%- asset_path("#{$file}") %>"')
remote:        
remote:        You can use the sass-convert command to automatically fix most cases.
remote:        
remote:        
remote:        rake aborted!
remote:        Sass::SyntaxError: Invalid CSS after "...lflings-regular": expected ")", was ".eot".replace(/..."
remote:        (sass):314
remote:        /tmp/build_9a4b8f93edcb6949bd3f6eab0443fee7/vendor/bundle/ruby/2.5.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:1308:in `expected'

和:

remote:        Tasks: TOP => assets:precompile
remote:        (See full trace by running task with --trace)
remote: 
remote:  !
remote:  !     Precompiling assets failed.
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !       Push rejected to alpha-blog-emir.

我的custom.css.css文件是:

$navbar-default-bg: #010101;
@import "bootstrap-mincer";
@import "bootstrap"; 
#logo {
float: left;
font-size: 1.7em;
color: #fff;
text-transform: uppercase;
letter-spacing: -1px;
font-weight: bold;
}
#logo:hover{
color: #fff;
text-decoration: none;
}
.center{
text-align: center;
}
.jumbotron {
background-image: asset-url('workplace.jpg');
height: 600px;
}
.jumbotron h1{
color: #010101;
text-align: center;
margin-bottom: 30px;
letter-spacing: -1px;
font-weight: bold;
}
.btn-xlarge {
font-size: 1.7em;
background-color: black;
}
.article-actions{
border-top: 1px solid #eaeaea;
padding-top: 5px;
}
.description{
margin-top: 0;
}
.article-title{
font-weight: bold;
font-size: 1.5em;
}
.article-body{
border-top: 1px solid #eaeaea;
padding-top: 15px;
padding-bottom: 15px;
}
footer{
margin-top: 45px;
padding-top: 5px;
border-top: 1px solid #eaeaea;
color: #777;
}
footer a:hover{
color: #222;
}
footer small{
float: left;
}
footer ul{
float: right;
list-style: none;
}
footer ul li{
float: left;
margin-left: 15px;
}

我尝试过rails资产:precompile命令,但没有帮助。我还检查了custom.css.css文件中的错误,但找不到任何错误。我知道第314行有一些sass语法错误,但我怎么能找到这个错误呢?

根据引导程序中的文档:

// Mincer asset helper functions
//
// This must be imported into a .css.ejs.scss file.
// Then, <% %>-interpolations will be parsed as strings by Sass, and evaluated by EJS after Sass compilation.

假设您已经将EJS挂接到资产管道中,那么您的文件需要命名为custom.css.ejs.scss

在你把我的注意力转移到bootstrap mincer之后,我已经解决了这个问题。我变了@导入"bootstrap mincer";到@进口"自举链轮";行,现在一切正常。Thx。。。

最新更新