1

WebサーバーでコンパスでSASSを使用しています。config.rb ファイルを編集して "compass watch" を実行すると、次のエラーが発生します。ファイルを編集する前は、エラーは発生しませんでした。ここで何がうまくいかないのでしょうか?ファイルが私のエディター (コーダ) によって保存される方法でしょうか? それとも何か他のことが起こっていますか?

syntax error, unexpected tSTRING_BEG, expecting $end
@import "compass"

config.rb

# Require any additional compass plugins here.

# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "javascripts"
@import "compass"

# You can select your preferred output style here (can be overridden via the command line):
# output_style = :expanded or :nested or :compact or :compressed

# To enable relative paths to assets via compass helper functions. Uncomment:
# relative_assets = true

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


# If you prefer the indented syntax, you might want to regenerate this
# project again passing --syntax sass, or you can uncomment this:
# preferred_syntax = :sass
# and then run:
# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
4

1 に答える 1

3

Coda がファイルのフォーマットを変更している可能性が最も高く、私の賭けは EOL (行末) 文字にあります。私の config.rb には UNIX の改行があり、必要に応じてコンパイルされます (Windows の改行も問題ありません)。Mac の改行に変更すると、次のエラーが発生します (これは、エラーにかなり近いものです)。

$ compass watch
SyntaxError on line ["24"] of /usr/local/lib/ruby/gems/1.9.1/gems/compass-0.12.2/lib/compass/configuration/serialization.rb: /path/to/config.rb:1: syntax error, unexpected tIDENTIFIER, expecting $end
# Require any addit...

私のエディター (メモ帳++) は、ファイルが ANSI としてエンコードされていると言っています。エディターがサポートする他のエンコーディングに変更すると、次のようなエラーが発生します。

$ compass watch
SyntaxError on line ["24"] of /usr/local/lib/ruby/gems/1.9.1/gems/compass-0.12.2/lib/compass/configuration/serialization.rb: /path/to/config.rb:1: invalid multibyte char (US-ASCII)
Run with --trace to see the full backtrace
于 2012-12-21T15:33:18.303 に答える