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

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

ただいまの
回答率

90.49%

  • Sass

    269questions

    Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

  • IntelliJ IDEA

    138questions

    IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

  • compass

    43questions

    CompassはSassを拡張したオープンソースのCSSフレームワークです。 特徴は、ベンダープレフィックス等の複雑なCSSを手軽に記述できる点、 CSSスプライト画像を簡単に作成できる点などが挙げられます。

CompassによるSCSSのコンパイルに失敗する

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,983

kefi3104

score 26

Intellij IDEAにてCompassを使おうとしているのですが、どうしても以下のエラーが消えません。

Individual stylesheets must be in the sass directory.

開発環境

  • Mac OX Yosemite 10.10.5
  • Intellij IDEA 2016.1.1
  • Compass 1.0.3 
  • ruby 2.2.3p173 
  • Sass 3.4.22

File Watcherを使わずに直接コマンドラインでコンパイルをしようとしても同じ同じエラーが出ます。

compass compile [scssのディレクトリパス] [cssのディレクトリパス] -c [config.rbのディレクトリパス]

以下を参考に、設定はすべて完了しているはずなのですが・・・
http://blog.jetbrains.com/jp/2013/12/10/326

config.rbのパスは何度確認しても間違いはありませんし、パス名に日本語も使われていません。
config.rbの内容は以下です。

# Compass is a great cross-platform tool for compiling SASS. 
# This compass config file will allow you to 
# quickly dive right in.
# For more info about compass + SASS: http://net.tutsplus.com/tutorials/html-css-techniques/using-compass-and-sass-for-css-in-your-next-project/


#########
# 1. Set this to the root of your project when deployed:
http_path = "/"

# 2. probably don't need to touch these
css_dir = "../css"
sass_dir = "./"
images_dir = "../images"
javascripts_dir = "../js"
environment = :development
relative_assets = true


# 3. You can select your preferred output style here (can be overridden via the command line):
output_style = :expanded

# 4. When you are ready to launch your WP theme comment out (3) and uncomment the line below
# output_style = :compressed

# To disable debugging comments that display the original location of your selectors. Uncomment:
# line_comments = false

# don't touch this
preferred_syntax = :scss

他に確認するべきところがあればご教授いただけますと幸いですm(_ _)m

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

質問中のエラーですが、Compass Issue#1769によると、Compassのバグかもしれません。
しかしその前に1つ気になる点があります。
質問中でのコンパイルのオプションが次のようになっていますが、

compass compile [scssのディレクトリパス] [cssのディレクトリパス] -c [config.rbのディレクトリパス]


compass help compileを参考にすると、

compass compile [プロジェクトのディレクトリパス] [scssのファイルパス] -c [config.rbのディレクトリパス]


なのではないかと思います。(特にcssの"ディレクトリ"ではなくて、scssの"ファイル"のパスだと思います。)

解決策ですが、
質問中のconfig.rbの設定を参考にすると、おそらく次のようなディレクトリ構造なのではと思うのですが、
Compass Issue#1769を参考にすると、続くconfig.rbのように書くとうまく動きそうです。

ディレクトリ構造

/path/to/project
├── css
├── images
├── js
└── scss
    ├── config.rb
    ├── ie.scss
    ├── print.scss
    ├── sample.scss
    └── screen.scss

config.rb(差分)

--- before.rb    2016-05-01 13:28:10.876743300 +0900
+++ after.rb    2016-05-01 13:29:26.987143600 +0900
@@ -11,6 +11,7 @@
 # 2. probably don't need to touch these
 css_dir = "../css"
 sass_dir = "./"
+sass_path = File.expand_path(sass_dir, project_path)
 images_dir = "../images"
 javascripts_dir = "../js"
 environment = :development

コマンド

# $ pwd
# /path/to/project
# とする

# ファイルごとにコンパイル
$ compass compile ./ ./scss/ie.scss -c ./scss/config.rb

# project全体ならば下記で良い
$ compass compile ./ -c ./scss/config.rb

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/01 14:10

    ご丁寧に有難うございました!

    ご指摘の通り、Compassバグのようでした。
    教えていただいたコードをconfig.rbに追記しましたところ、コンパイルが正常に行われました。

    IntellijのFile Watcherでも動作することを確認できました。

    compileのパスのご指摘についてもありがとうございました!

    キャンセル

関連した質問

同じタグがついた質問を見る

  • Sass

    269questions

    Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

  • IntelliJ IDEA

    138questions

    IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

  • compass

    43questions

    CompassはSassを拡張したオープンソースのCSSフレームワークです。 特徴は、ベンダープレフィックス等の複雑なCSSを手軽に記述できる点、 CSSスプライト画像を簡単に作成できる点などが挙げられます。