質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

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

Ruby on Rails 6

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

Heroku

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

Q&A

解決済

2回答

789閲覧

Herokuでデプロイできない(NoMethodError:〜とPrecompiling assets failed.)

yk8710

総合スコア8

Ruby

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

Ruby on Rails 6

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

Heroku

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

1グッド

1クリップ

投稿2022/08/28 16:21

編集2022/09/09 11:22

前提

初学者です。オリジナルアプリを作っておりますが、デプロイの際に以下のようなエラーが発生します。

発生している問題・エラーメッセージ

全文を載せてしまうと長いので怪しい箇所だけ一部抜粋。

エラーメッセージ warning " > webpack-dev-server@4.9.3" has unmet peer dependency "webpack@^4.37.0 || ^5.0.0". warning "webpack-dev-server > webpack-dev-middleware@5.3.3" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0". [5/5] Building fresh packages... Done in 2.78s. rake aborted! NoMethodError: undefined method `size' for nil:NilClass /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/util.rb:157:in `merge_adjacent_strings' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/tree/prop_node.rb:73:in `initialize' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:848:in `new' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:848:in `css_variable_declaration' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:796:in `try_declaration' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:743:in `declaration_or_ruleset' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:708:in `block_child' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:700:in `block_contents' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:689:in `block' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:681:in `ruleset' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:707:in `block_child' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:700:in `block_contents' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:137:in `stylesheet' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/scss/parser.rb:41:in `parse' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/engine.rb:414:in `_to_tree' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sass-3.7.4/lib/sass/engine.rb:290:in `render' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/sass_compressor.rb:48:in `call' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/sass_compressor.rb:28:in `call' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:75:in `call_processor' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:57:in `block in call_processors' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:56:in `reverse_each' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/processor_utils.rb:56:in `call_processors' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:134:in `load_from_unloaded' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:60:in `block in load' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/loader.rb:44:in `load' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:20:in `block in initialize' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:47:in `load' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/base.rb:66:in `find_asset' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/base.rb:73:in `find_all_linked_assets' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/manifest.rb:142:in `block in find' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/legacy.rb:114:in `block (2 levels) in logical_paths' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/path_utils.rb:228:in `block in stat_tree' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/path_utils.rb:212:in `block in stat_directory' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/path_utils.rb:209:in `each' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/path_utils.rb:209:in `stat_directory' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/path_utils.rb:227:in `stat_tree' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/legacy.rb:105:in `each' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/legacy.rb:105:in `block in logical_paths' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/legacy.rb:104:in `each' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/legacy.rb:104:in `logical_paths' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/manifest.rb:140:in `find' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/manifest.rb:186:in `compile' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-rails-3.4.2/lib/sprockets/rails/task.rb:67:in `block (3 levels) in define' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/rake/sprocketstask.rb:147:in `with_logger' /tmp/build_a201b62d/vendor/bundle/ruby/2.6.0/gems/sprockets-rails-3.4.2/lib/sprockets/rails/task.rb:66:in `block (2 levels) in define' Tasks: TOP => assets:precompile (See full trace by running task with --trace) ! ! Precompiling assets failed. ! ! Push rejected, failed to compile Ruby app. ! Push failed

試したこと

最初にPrecompiling assets failed.とターミナルで赤字で書かれていたのでこの文を検索にかけて調べたところアセットパイプラインの正常化が必要と書かれていたのでconfig/application.rbに以下のように記述し再度実行したところ変わらず。

config/application.rb

1config.assets.initialize_on_precompile = false

また再度エラー文を見ると NoMethodError: undefined method `size' for nil:NilClassと書かれてあることに気づきましたが、どこのことを言っているのかがわかりません。
こちらについても検索をかけて調べましたが当てはまるような記事に辿り着けず苦戦しております。どなたかお分かりになる方おりましたらご教示いただけますと幸いです。

補足情報(FW/ツールのバージョンなど)

MacOS
Ruby 2.6.5
Rails 6.0.5.1
Heroku-18 stack

問題のCSSの構文

URL: https://github.com/yk8710/stock/blob/master/app/assets/stylesheets/style.css

shinoharat👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

回答いただいた通りapp/assets/stylesheets/application.cssの以下の2行を削除を実行。

*= ./bootstrap_import *= require bootstrap/dist/css/bootstrap.min.css

実行後、下記のエラーが新たに発生

ERROR in ./app/javascript/stylesheets/application.scss remote: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js): remote: ModuleBuildError: Module build failed (from ./node_modules/postcss-loader/src/index.js): remote: ParserError: Syntax Error at line: 1, column 38

ターミナルでyarn upgrade bootstrap@5.1.3と入力することでBootstrapのバージョンを5.2.0から5.1.3にダウングレードしたところデプロイ成功。

投稿2022/09/09 01:51

編集2022/09/09 01:56
yk8710

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

回答

gem sass の issue に同様のエラーが載ってました。
https://github.com/sass/ruby-sass/issues/63

おそらく CSS に構文エラーがあるんじゃないかと思います。
以下のような、値が空っぽのカスタムプロパティはありませんか?

scss

1.foo { 2 --property:; 3}

ある場合は、そのプロパティをコメントアウトするか、削除してください。

補足

補足❶

アセットパイプラインの正常化が必要と書かれていたのでconfig/application.rbに以下のように記述し再度実行したところ変わらず。

これは Rails 4 くらいの時代の話なので、見ている情報がかなり古いと思います。
initialize_on_precompile オプションは Rails 6 では不要です。

https://devcenter.heroku.com/ja/articles/getting-started-with-rails6#rails-asset-pipeline

--

補足❷

また再度エラー文を見ると NoMethodError: undefined method `size' for nil:NilClassと書かれてあることに気づきましたが、どこのことを言っているのかがわかりません。

NoMethodError の1行下を見れば、どこでエラーが出ているか分かります。

gems/sass-3.7.4/lib/sass/util.rb:157:in `merge_adjacent_strings'

sass という gem の内部でエラーが発生していることが読み取れます。

投稿2022/08/30 08:24

shinoharat

総合スコア1674

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yk8710

2022/08/31 08:24

ご回答いただきましてありがとうございます。cssにつきましてはカスタムプロパティに当たるような構文は記述しておりません。一度cssに書いたコードを全部コメントアウトしてみて再度デプロイしてもみましたが結果は変わらずでした。
shinoharat

2022/09/02 00:05

情報ありがとうございます。 全部コメントアウトしてもエラーが変わらなかったんですね。 うーん、sass gem の内部でエラーが発生しているので、css (sass) に問題があるのはほぼ間違いないと思っていたのですが・・・ 可能であれば、css (sass) のコードを一通り見てみたいのですが、質問文に追加することは可能ですか?
yk8710

2022/09/02 06:20

ご返信ありがとうございます。質問文にcssの記述を載せると長すぎてエラーになって載せられないようなのでgithubのURLを追記いたしました。もしよろしければご確認のほどよろしくお願いいたします。
shinoharat

2022/09/08 00:29 編集

返信が遅くなってすみません。 github の URL ありがとうございます。検証が捗りました。 「app/assets/stylesheets/application.css」の以下の2行を削除することで、私の手元ではアセッツコンパイルが通るようになりました。 *= ./bootstrap_import *= require bootstrap/dist/css/bootstrap.min.css お試しください。
yk8710

2022/09/09 02:22 編集

ご対応ありがとうございます。 実行しましたところ、問題のエラー文は消えましたがまた違うエラー文が発生しました。 bootstrapのバージョンを5.2.0から5.1.3に下げたところ無事にデプロイできました。 今回のエラーで自分の情報収集力がまだまだだと痛感しました。解決までご協力いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問