質問編集履歴

2 追記Rakefile

Romay

Romay score 19

2019/04/02 08:06  投稿

herokuデプロイ時, SaasのSyntaxErrorでPrecompiling assets failedが起こる問題
### 前提・実現したいこと
Railsアプリ製作中
Ruby 3.4.5
Rails 4.2.8
postgresql(heroku本番環境)
mysql(開発環境)
herokuへのデプロイは何回か成功済み。
本番環境でログアウトできない問題が起きたので、こちらの通りに進めていたところでエラーが起きました。
[Heroku + Rails4.2 + Devise + Bootstrap3系列で本番環境でログアウト(Sign_out)ができない問題](http://shopetan.hatenablog.com/entry/2015/06/05/193413)
```command
rm -rf public/assets
```
でpublic/assetsを消し、
```command
git push heroku master
```
の操作後にエラーになりました。
### 発生している問題・エラーメッセージ
以下エラー文該当箇所抜粋
```terminal
rake aborted!
remote:       Sass::SyntaxError: Invalid CSS after "}": expected selector or at-rule, was "}"
remote:         (in /tmp/build_8ccc38899945b5393cd905fa5ea4197a/app/assets/stylesheets/application.scss)
remote:       (sass):14102
```
Invalidの "}" とexpected が "}"で全く一緒でエラー文が参考になりません。
全角スペースなどの可能性もありますが、sublimeで見つけられるようにしているのでこの可能性は低いように思います。
### 該当のソースコード
```command
rm -rf public/assets
```
でpublic/assetsを消し、
```command
git push heroku master
```
の操作後にエラーになりました。
### 以下追記しました
assets/stylesheets/application.scss
```ruby
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
* compiled file so the styles you add here take precedence over styles defined in any styles
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
* file per style scope.
*
*= require_self
*= require bootstrap-theme.css
*= require bootstrap-theme.css.map
*= require bootstrap-theme.min.css
*= require bootstrap.css
*= require bootstrap.css.map
*= require bootstrap.min.css
*= require main.css
*= require responsive.css
*= require profilecard.scss
*= require font-awesome
*= require linkmodal
*= require jquery.kenburnsy.css
*= require top.scss
*= require users.scss
*= require sign-up.css
*/
@import "bootstrap-sprockets";
@import "bootstrap";
```
以下追記 Rakefileです。  
 
```ruby  
# Add your own tasks in files placed in lib/tasks ending in .rake,  
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.  
 
require File.expand_path('../config/application', __FILE__)  
 
Rails.application.load_tasks  
 
```  
 
### 試したこと
public/assetsを消しただけで、CSSはいじっていない(気づかずにタイプしている可能性はあるが)ので何が原因なのかわかりません。
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
  • Ruby

    12604 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    12553 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Heroku

    1771 questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

1 追記

Romay

Romay score 19

2019/04/02 02:51  投稿

herokuデプロイ時, SaasのSyntaxErrorでPrecompiling assets failedが起こる問題
### 前提・実現したいこと
Railsアプリ製作中
Ruby 3.4.5
Rails 4.2.8
postgresql(heroku本番環境)
mysql(開発環境)
herokuへのデプロイは何回か成功済み。
本番環境でログアウトできない問題が起きたので、こちらの通りに進めていたところでエラーが起きました。
[Heroku + Rails4.2 + Devise + Bootstrap3系列で本番環境でログアウト(Sign_out)ができない問題](http://shopetan.hatenablog.com/entry/2015/06/05/193413)
```command
rm -rf public/assets
```
でpublic/assetsを消し、
```command
git push heroku master
```
の操作後にエラーになりました。
### 発生している問題・エラーメッセージ
以下エラー文該当箇所抜粋
```terminal
rake aborted!
remote:       Sass::SyntaxError: Invalid CSS after "}": expected selector or at-rule, was "}"
remote:         (in /tmp/build_8ccc38899945b5393cd905fa5ea4197a/app/assets/stylesheets/application.scss)
remote:       (sass):14102
```
Invalidの "}" とexpected が "}"で全く一緒でエラー文が参考になりません。
全角スペースなどの可能性もありますが、sublimeで見つけられるようにしているのでこの可能性は低いように思います。
### 該当のソースコード
```command
rm -rf public/assets
```
でpublic/assetsを消し、
```command
git push heroku master
```
の操作後にエラーになりました。
 
### 以下追記しました  
assets/stylesheets/application.scss  
```ruby  
/*  
* This is a manifest file that'll be compiled into application.css, which will include all the files  
* listed below.  
*  
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,  
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.  
*  
* You're free to add application-wide styles to this file and they'll appear at the bottom of the  
* compiled file so the styles you add here take precedence over styles defined in any styles  
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new  
* file per style scope.  
*  
*= require_self  
*= require bootstrap-theme.css  
*= require bootstrap-theme.css.map  
*= require bootstrap-theme.min.css  
*= require bootstrap.css  
*= require bootstrap.css.map  
*= require bootstrap.min.css  
*= require main.css  
*= require responsive.css  
*= require profilecard.scss  
*= require font-awesome  
*= require linkmodal  
*= require jquery.kenburnsy.css  
 
*= require top.scss  
*= require users.scss  
*= require sign-up.css  
*/  
 
@import "bootstrap-sprockets";  
@import "bootstrap";  
```  
 
### 試したこと
public/assetsを消しただけで、CSSはいじっていない(気づかずにタイプしている可能性はあるが)ので何が原因なのかわかりません。
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
  • Ruby

    12604 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    12553 questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • Heroku

    1771 questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る