Проблемы с кодировкой Ruby 1.9 и Sass. (от ASCII-8BIT к UTF-8)
недавно я обновился до Ruby 1.9, и я больше не могу компилировать что-либо с Sass.
Я видел решения, которые утверждают, что я размещаю
@charset "utf-8";
в верхней части моего .файл sccs, он исправит это. Однако я все еще получаю ошибку. Вот полный traceback
Я также попытался удалить любые символы, отличные от ascii, из моего CSS-файла, создать новый и т. д. Он просто не будет компилироваться. Есть советы?
Traceback:
Sass наблюдая за изменениями. Нажмите Ctrl-C, чтобы остановить.
/ главная/webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / util.rb: 496: in 'encode': транскодирование не поддерживается (от ASCII-8BIT до UTF-8) (ArgumentError)
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / util.rb: 496: in
_enc' from /home/webdev/.gem/repository/gems/sass-3.1.1/lib/sass/util.rb:515:in
спасение в блоке (1 уровень) в 'from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / util.rb: 508: в ' блоке (1 уровень) в '
от /дома/webdev нужно/.gem / репозиторий / gems/sass-3.1.1/lib/sass / util.rb: 472: в'yield'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / util.rb: 472: in 'default'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / util.rb: 472: in 'block in check_sass_encoding'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / util.rb: 471: в `each'
от /дома/webdev нужно/.gem / репозиторий / gems/sass-3.1.1/lib/sass / util.rb: 471: в 'find'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / util.rb: 471: in 'check_sass_encoding'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / engine.rb: 349: in ' check_encoding!'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / engine.rb: 316: in '_to_tree'
от /дома/webdev нужно/.gem / репозиторий / gems/sass-3.1.1/lib/sass / engine.rb: 291: in '_render'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / engine.rb: 238: in 'render'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/Sass/плагин / компилятор.rb: 319: в 'update_stylesheet'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/Sass/плагин / компилятор.rb: 169: in 'block in update_stylesheets'
от /дома/webdev нужно/.gem / репозиторий / gems/sass-3.1.1/lib/Sass/плагин / компилятор.rb: 167: in 'each'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/Sass/плагин / компилятор.rb: 167: в 'update_stylesheets'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/Sass/плагин / компилятор.rb: 214: в 'watch'
from / home / webdev/.gem / репозиторий / gems/Sass-3.1.1/lib/Sass / плагин.rb: 111: в 'method_missing'
от /дома/webdev нужно/.gem / репозиторий / gems/sass-3.1.1/lib/sass / exec.rb: 408: in 'watch_or_update'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / exec.rb: 294: in 'process_result'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / exec.rb: 41: in 'parse'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1/lib/sass / exec.rb: 21: in ' parse!'
from / home / webdev/.gem / репозиторий / gems/sass-3.1.1 / bin/sass: 8: in `
from / home / webdev/.gem / repository/bin / sass:19:in `load'
from / home / webdev/.gem / repository / bin/sass: 19: in"
4 ответов
похоже, что каким-то образом ваша среда Ruby настроена для загрузки исходного кода Sass как ASCII-8BIT
, a.к. a. BINARY
. Это, вероятно, потому, что вы либо проходите -Kn
флаг для процесса Ruby или установка Encoding.default_external
to Encoding::BINARY
где-то в вашем коде перед загрузкой Sass. Отмените это, и Сасс должна работать.
Я не знаю точно суть проблемы, но, похоже, были некоторые проблемы с Ruby 1.9.0 (версия, доступная на apt для этого окна Ubuntu) и кодировка.
чтобы решить проблему, я использовал https://rvm.io который является помощником для загрузки и компиляции Ruby из Git, давая мне последнюю версию. После запуска этого sass компилируется отлично,и все отлично.
Это, вероятно, очевидно, но вы уверены, что ваш файл SASS закодирован UTF-8? Любой приличный текстовый редактор позволит вам конвертировать кодировки.