issues - Ошибка EOF javascript_include_tag Rails 4



rails releases (3)

Я получаю сообщение об ошибке: не могу понять причину:

EOF Error end of file reached 

вызывается из /app/views/layouts/application.html.erb, строка 6:

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>

В ruby ​​ошибка EOF является подклассом IOError и вызывается операцией ввода-вывода, достигающей конца файла.

Вот кое-что из того, что я узнал до сих пор:

С помощью:

<%= javascript_include_tag :defaults, "data-turbolinks-track" => true %>

...или же...

<%= javascript_include_tag :all, "data-turbolinks-track" => true %>

или даже перечисление отдельных js-файлов через javascript_include_tag, чтобы устранить ошибку EOF.

Я думал, что это может быть вызвано некоторыми директивами звездочек, поэтому я удалил все директивы в application.js. Это ничего не изменило.

Запуск активов рейка: прекомпиляция также дает мне:

rake aborted!
end of file reached 

Запуск git diff в каталоге app / assets / javascripts показывает одну вещь, которая может быть заметна в файле .js, который я редактировал недавно:

+$(document).on('ready page:load', function() {
+
+     // some code I had written
+
+});
\ No newline at end of file

Этот бит "нет новой строки в конце файла" ... Я никогда не видел этого раньше. Тем не менее, я просто вставил новую строку в конец того же файла и зафиксировал изменение, и этот комментарий теперь отсутствует в diff.

РЕДАКТИРОВАТЬ: Указание моего браузера на localhost: 3000 / assets / application.js дает мне это:

throw Error("EOFError: end of file reached")

Я полностью озадачен и пытался отлаживать это в течение всего дня. Почему происходит эта ошибка? Вот трассировка стека, когда я запускаю rake assets: precompile:

rake aborted!
end of file reached
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0.rc2/lib/active_support/core_ext/marshal.rb:6:in `load'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0.rc2/lib/active_support/core_ext/marshal.rb:6:in `load_with_autoloading'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/cache/file_store.rb:19:in `block in []'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/cache/file_store.rb:19:in `open'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/cache/file_store.rb:19:in `open'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/cache/file_store.rb:19:in `[]'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/caching.rb:14:in `cache_get'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/caching.rb:84:in `cache_get_hash'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/caching.rb:54:in `cache_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/index.rb:93:in `build_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/base.rb:287:in `find_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/index.rb:61:in `find_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/bundled_asset.rb:37:in `init_with'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/asset.rb:24:in `from_hash'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/caching.rb:54:in `cache_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/index.rb:93:in `build_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/base.rb:287:in `find_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/index.rb:61:in `find_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:211:in `block in find_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:257:in `benchmark'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:210:in `find_asset'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:119:in `block in compile'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:118:in `each'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/sprockets/manifest.rb:118:in `compile'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-rails-2.0.0/lib/sprockets/rails/task.rb:60:in `block (3 levels) in define'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-2.10.0/lib/rake/sprocketstask.rb:146:in `with_logger'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/gems/sprockets-rails-2.0.0/lib/sprockets/rails/task.rb:59:in `block (2 levels) in define'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `eval'
/Users/kevinyoung/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `<main>'

Answer #1

Если у вас возникла эта проблема в Windows, попробуйте Gemfile.lock файл Gemfile.lock и вручную изменить значение coffee-script-source на 1.8.0 (мое началось с 1.9.1.1 ). Что-то о более новых версиях не играет ничего хорошего по любой причине.


Answer #2

Если у вас все еще лежит ваш старый репозиторий, вы можете запустить bundle exec rake tmp:clear . Я считаю, что это исправит.


Answer #3

Попробуйте удалить локальный каталог проекта и проверить свежую копию.

Сегодня я испытал запуск прерванного сервера rails, который, возможно, оставил мою систему в несовместимом состоянии и привел к той же самой ошибке, с которой вы столкнулись. Segfault ruby ​​2.0.0-p0 остановил запуск моего сервера rails, после чего я не смог загрузить ни одной страницы из-за вышеупомянутой ошибки.

К сожалению, я не знаю точно, что послужило причиной этого первоначального сбоя. К счастью, мне больше не нужно с этим сталкиваться!