2011-05-11 3 views
6

최근 Ruby 1.9로 업그레이드했고 Sass로 더 이상 컴파일 할 수 없습니다.Ruby 1.9 및 Sass 인코딩 문제. (ASCII-8BIT에서 UTF-8로)

내가 내 .sccs 파일의 상단에

@charset "utf-8"; 

를 배치하면 상태 솔루션을 본 적이 그것을 해결됩니다. 그러나 나는 여전히 오류가 발생합니다. 여기에 전체 추적이 있습니다

또한 CSS 파일에서 비 ASCII 문자를 제거하고 새 파일을 만드는 등의 시도를했습니다. 단지 컴파일되지 않습니다. 어떤 팁?

역 추적 :

말대꾸가 변화를 지켜보고있다. Ctrl-C를 눌러 중지하십시오.

/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:496:in '인코딩': 트랜스 코딩이 지원되지 않음 (ASCII-8BIT에서 UTF-8로) (오류 ArgumentError)

'의 블록

에서 _enc' from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:515:in /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:496:in 구조 (1 단계)

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:508:in '블록 (1 레벨)'

/home/webdev /. gem/저장소/gems/sass-3.1.1/lib/sass/util.rb : 472 : 'yield'로

'기본'/home/webdev/.gem/repository에서

/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:472:in에서

/gems/sass-3.1.1/lib/sass/util.rb:472:in 'check_sass_encoding에서 차단'

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/ 말대꾸/util.rb : 471 : 각 '에서'/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:471:in에서

`발견 '

/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:471:in` check_sass_ 인코딩 '

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:349:in`check_encoding!' /home/webdev/.gem/에서 /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/engine.rb:316:in`_to_tree '

에서

저장소/gems/sass-3.1.1/lib/sass/engine.rb : 291 :`_render '

/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass /engine.rb:238:in`render '

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb:319:in`update_stylesheet'

/home/webdev/.gem/repo sarge/gems/sass-3.1.1/lib/sass/plugin/compiler.rb : 169 :`block in update_stylesheets '

from /home/webdev/.gem/repository/gems/sass-3.1.1 /lib/sass/plugin/compiler.rb:167:in`each '

/home/webdev /.gem/repository/gems/sass-3.1.1/lib/sass/plugin/compiler.rb : 167 :`update_stylesheets '에서

from /home/webdev/.gem/repository/gems/sass-3.1.1 /lib/sass/plugin/compiler.rb:214:in`watch '

from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/plugin.rb:111 : `method_missing '/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:408:in`watch_or_update에서

'에서

에/홈/경우 Webdev /.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:294:in`process_result '

'구문 분석'/home/webdev/.gem/repository에서

/home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/exec.rb:41:in에서 1,363,210

/gems/sass-3.1.1/lib/sass/exec.rb:21 :`구문 분석! '

/home/webdev/.gem/repository/gems/sass-3.1.1/bin/sass:8:in에서

`/home/webdev/.gem/repository/bin/sass에서

: 19 :`로드

+0

재미, 당신의 문제가 내 문제에 대한 답이었다 내가 인코딩으로 UTF-8을 지정하기 위해 필요한 즉 :)하는 최신 유행에서 작동하는 것 같다 – OZZIE

답변

2

정확하게 문제의 핵심을 모르지만 Ruby 1.9.0 (이 우분투 상자에서 사용 가능한 버전) 및 인코딩에 문제가있는 것으로 보입니다.

이 문제를 해결하기 위해 Git에서 Ruby를 다운로드하고 컴파일하여 최신 버전을 제공하는 도우미 인 https://rvm.io을 사용했습니다. 이 프로그램을 실행 한 후, sass는 잘 컴파일되고 모든 것이 팽창합니다.

-1

이것은 아마도 분명하다 '`/home/webdev/.gem/repository/bin/sass:19:in에서

'에서하지만 당신은 확실히 당신의 말대꾸 파일이 있습니다 UTF-8로 인코딩 되었습니까? 괜찮은 텍스트 편집기를 사용하면 인코딩을 변환 할 수 있습니다.

+1

정력을 사용하여, utf-8은 : language로보고합니다. set if set encoding = utf-8, 여전히 운이 없다. – Bartek

2

Ruby 환경이 Sass 소스 코드를 ASCII-8BIT, a.k.a. BINARY으로로드하도록 설정되었습니다. 이는 Sass가로드되기 전에 -Kn 플래그를 Ruby 프로세스에 전달하거나 Encoding.default_externalEncoding::BINARY으로 설정했기 때문일 수 있습니다. 이것을 취소하면 Sass가 작동합니다.

+0

큰 정보 주셔서 감사합니다, 그러나 어떻게 조정합니까? 나는 단순히 Sass 바이너리를 명령 행을 통해 호출하고있다. 쉘에서 설정된 로케일은 utf-8입니다. – Bartek

11

@nex3 answer 당신이 할 수있는

엽니 다 config.rb 파일을 완료하고 추가하려면 :

Encoding.default_external = "UTF-8" 
+2

그리고이 파일은 어디에서 찾을 수 있습니까? – OZZIE

+0

이 답변은 즉시 내 문제를 해결했습니다. SASS는 CSS Comb를 실행 한 후에 컴파일을 중단 한 것처럼 보였지만 지금은이 제안에 따라 다시 작업하고 있습니다. – edwinbradford

관련 문제