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

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

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

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

Q&A

解決済

1回答

4275閲覧

aseet:precompileでのエラーについて

teru

総合スコア22

Ruby on Rails

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

0グッド

0クリップ

投稿2015/10/28 13:21

■環境
Rails 4.2.1
ruby 2.2.1p85
prockets (3.4.0, 3.3.5, 3.3.4, 3.3.2, 3.2.0, 3.0.1)
sprockets-rails (2.3.3, 2.3.2, 2.2.4)
sass-rails (5.0.4, 5.0.3)
bootstrap-sass (3.3.5.1, 3.3.4.1)
no use compass and compass-rails

■質問
開発機でasetts:precompileを行ったところ、下記エラーが表示されました。
rake assets:precompile RAILS_ENV=production
Type text/plain is already registered as a variant of text/plain.
rake aborted!
Sass::SyntaxError: Undefined variable: "$alert-padding".

調べてみるとapp/assets/stylesheet/application.cssに下記2つが必要みたいなので追加。
@import "bootstrap-sprockets";
@import "bootstrap";

あらためてrake assets:precompile RAILS_ENV=production実施

すると違うエラーが表示されました。

Error_Msg
** Execute assets:precompile
rake aborted!
NoMethodError: undefined method []' for nil:NilClass /MyHomeDir/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sprockets-3.4.0/lib/sprockets/sass_processor.rb:278:in sprockets_context'
/MyHomeDir/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sprockets-3.4.0/lib/sprockets/sass_processor.rb:124:in asset_path' /MyHomeDir/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sprockets-3.4.0/lib/sprockets/sass_processor.rb:200:in font_path'
/MyHomeDir/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sass-3.4.19/lib/sass/script/tree/funcall.rb:140:in _perform' /MyHomeDir/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sass-3.4.19/lib/sass/script/tree/node.rb:50:in perform'
/MyHomeDir/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sass-3.4.19/lib/sass/tree/visitors/perform.rb:403:in visit_return' /MyHomeDir/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sass-3.4.19/lib/sass/tree/visitors/base.rb:36:in visit'
/MyHomeDir/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/sass-3.4.19/lib/sass/tree/visitors/perform.rb:158:in `block in visit'

この場合はどのように対応すればよいのでしょうか。gemファイルの中を見てもよくわかりませぬ・・・。

お手数ですがご教授ねがいます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

同じエラーが発生し、ひとまずprecompileできるようになったのでこちらに回答させていただきます。
私の場合とまったく同じかはわかりませんが私の場合は、
style.cssの背景画像設定のimage-pathでエラーとなっていたため以下の修正することでprecompileできました。

変更前

css

1background: image-path("bg-header.png") no-repeat center top transparent; }

変更後

css

1background-image: url("bg-header.png") no-repeat center top transparent; }

投稿2015/12/12 23:19

s.i.u.n.i.a11

総合スコア15

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

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

teru

2015/12/15 06:21

返信遅れて申し訳ありません。s.i.u.n.i.a11さんの方法も試していますがダメでした。StackOverにも同じ方法があったので試していました。結果としてCSSを含めない形でprecompileを行いました。回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問