Ответ 1
Добавить
#encoding: utf-8
в первую строку вашего Rakefile (или любой другой файл имеет странные символы)
После обновления до ruby 1.9.3 одно из моих приложений работает нормально, но второе, которое я пытаюсь преобразовать, не выполняется на этапе "активы: прекомпиляция", когда я пытаюсь развернуть с помощью capistrano. Вот stacktrace:
rake aborted!
rake aborted!
invalid byte sequence in US-ASCII
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/trace_output.rb:16:in `block in trace_on'
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/trace_output.rb:14:in `map'
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/trace_output.rb:14:in `trace_on'
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:328:in `trace'
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:183:in `display_error_message'
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:169:in `rescue in standard_exception_handling'
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:159:in `standard_exception_handling'
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:88:in `load_rakefile'
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:72:in `block in run'
/Users/george/.rvm/gems/ruby-1.9.3[email protected]/gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/george/.rvm/gems/[email protected]/gems/rake-10.0.4/lib/rake/application.rb:70:in `run'
/Users/george/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `eval'
/Users/george/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `<main>'
Я читал многочисленные сообщения и пробовал несколько предложений, но безрезультатно. Я попытался добавить следующее в верхнюю часть моего gemfile:
if RUBY_VERSION =~ /1.9/
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
end
Но это не имело значения.
Я проверил переменные среды LANG и LC_ALL следующим образом
$ echo $LC_ALL
en_NZ.UTF-8
$ echo $LANG
en_NZ.UTF-8
Я боюсь, что я вообще не понимаю сообщение, и я не знаю, как определить файл, у которого есть проблема.
Я не могу запустить любую команду rake - она дает ту же ошибку.
Обратите внимание, что я могу отлично запускать приложение в режиме разработки.
Добавить
#encoding: utf-8
в первую строку вашего Rakefile (или любой другой файл имеет странные символы)
Отслеживайте файлы грабли по ошибке , удаляя один за раз.
т.е. файлы под lib/tasks/delete_me.rake
Затем перезапустите или перезапустите, что когда-либо давало вам проблему. Как только проблема исчезнет
выполните git diff
, чтобы увидеть, какой файл был виновником, и с вашим любимым редактором измените кодировку файла.
т.е.,
vim lib/tasks/delete_me.rake : set fileencoding = utf-8 : WQ
Затем переверните, и вы вернетесь в сервис.
Первый запуск
$ sudo gem install magic_encoding
Затем зайдите в папку и запустите
$ magic_encoding
Готово!
Убедитесь, что вы не вводите свой файл в romaji (японский язык). Или настройку английского символа для какого-либо другого языка, отличного от US-ASCII.
Я попытался запустить rake db: seed и получил аналогичную ошибку. Оказывается, я набирал свой файл семени в японских римских персонажах. Я забыл изменить свой ввод на клавиатуре обратно в США, прежде чем работать над моим проектом.
У меня была аналогичная проблема, и "ошибка" была по моему имени: она содержит не-US-ASCII char (ö). Это было напечатано в файле setup.rb и вызвало проблемы. Я изменил его на "oe", и он работал нормально.
Я пошлю E-Mail в битнами, чтобы он каким-то образом изменился
Я получал подобную ошибку при попытке выполнить любую команду rake (я использую Rails 3.2 с Ruby 1.9.3). Я пробовал все решения выше, без каких-либо успехов. Позже я узнал, что я был особым камнем, который вызывал ошибку (в моем случае это был камень Faker, который был обновлен несколько дней назад). Я удалил драгоценный камень (он не использовался), и все стало работать! Итак, мой совет: если вы столкнетесь с такой проблемой, и ни одно из перечисленных здесь решений не будет выполнено, проверьте версию каждого драгоценного камня и посмотрите, обновлен ли какой-либо из них. Попробуйте удалить их или установить совместимую версию.