在旧应用程序上执行ruby和rails升级后,尝试访问任何应用程序视图时出现以下错误:
SyntaxError: [stdin]:3:1: unexpected indentation
似乎与Ruby Racer gem相关的某些文件可能会导致此问题。
Ruby 2.3.1p112,Rails 4.0.13,therubyracer 0.12.3
在服务器日志中:
ExecJS::RuntimeError - SyntaxError: [stdin]:3:1: unexpected indentation:
execjs (2.7.0) lib/execjs/ruby_racer_runtime.rb:98:in `wrap_error'
execjs (2.7.0) lib/execjs/ruby_racer_runtime.rb:47:in `rescue in block in call'
execjs (2.7.0) lib/execjs/ruby_racer_runtime.rb:44:in `block in call'
execjs (2.7.0) lib/execjs/ruby_racer_runtime.rb:75:in `block in lock'
execjs (2.7.0) lib/execjs/ruby_racer_runtime.rb:73:in `lock'
execjs (2.7.0) lib/execjs/ruby_racer_runtime.rb:43:in `call'
coffee-script (2.4.1) lib/coffee_script.rb:78:in `compile'
更新
使用gem 'therubyracer', '~> 0.10.2'
等先前版本的therubyracer无法解决问题。
答案 0 :(得分:3)
编译一个咖啡脚本时出现编译错误。您应该检查coffee
文件夹中的assets/javascript
个文件。
为了帮助您更轻松地调试问题(哪一行),您可以尝试手动安装coffee脚本(http://coffeescript.org)并使用命令行编译器。