【问题标题】:ExecJS::ProgramError in Rails tutorial demo appRails 教程演示应用程序中的 ExecJS::ProgramError
【发布时间】:2012-07-30 17:23:44
【问题描述】:

我正在关注http://ruby.railstutorial.org/chapters/a-demo-app#sec:planning_the_application 上的演示应用教程。为用户生成脚手架后。当我尝试访问 localhost:3000/users 时。我在 ExecJS 上收到以下错误

Started GET "/users" for 127.0.0.1 at 2012-08-01 13:35:37 -0500
Connecting to database specified by database.yml
Processing by UsersController#index as HTML
User Load (0.1ms)  SELECT "users".* FROM "users" 
Rendered users/index.html.erb within layouts/application (3.1ms)
Completed 500 Internal Server Error in 458ms

ActionView::Template::Error (ExecJS::ProgramError
(in /Users/kylec/apps/demo_app/app/assets/javascripts/users.js.coffee)):
3: <head>
4:   <title>DemoApp</title>
5:   <%= stylesheet_link_tag    "application", :media => "all" %>
6:   <%= javascript_include_tag "application" %>
7:   <%= csrf_meta_tags %>
8: </head>
9: <body>
app/views/layouts/application.html.erb:6:in    `_app_views_layouts_application_html_erb___642905557_18993590'
app/controllers/users_controller.rb:7:in `index'

如果我取出#line 6 ,页面就会呈现 我正在运行 ruby​​ 1.9.3、rails 3.2.7、osx 10.5.8

【问题讨论】:

标签: ruby-on-rails railstutorial.org


【解决方案1】:

您需要查看您的 Gemfile。找到这一行并取消注释。

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby

【讨论】:

  • 我尝试执行 gem install therubyracer,但它抱怨我有旧版本的 gcc。当我努力编译新的 gcc 时,我意识到我安装了两个版本的 gem - gem 和 gem1.9。当我执行 gem1.9 install therubyracer 并且不再有 ExecJS 错误时,错误消失了!谢谢!
【解决方案2】:

我也遇到过类似的问题。 我已经安装了 node.js 并添加了 ruby​​ 的路径,它工作正常。

【讨论】:

    【解决方案3】:

    就我而言this was the solution: 我刚刚修改了 gemfile 将咖啡脚本源降级到 1.8.0,瞧!这是我的gemfile:

    # Use CoffeeScript for .coffee assets and views
    gem 'coffee-rails', '~> 4.1.0'
    
    # Downgrade coffee-script source
    gem 'coffee-script-source', '~>1.8.0'
    
    # See https://github.com/rails/execjs#readme for more supported runtimes
    # gem 'therubyracer', platforms: :ruby
    # Use jquery as the JavaScript library
    gem 'jquery-rails'
    

    【讨论】:

    • 最后,感谢您为您的 gemfile 添加更改的全部详细信息(我是 ruby​​/rails 新手)。其他答案有点误导和混淆。
    【解决方案4】:

    如果您在 Windows 上工作,这绝对有效:

    在您的 /app/views/layouts/application.html.erb 第 5 行和第 6 行中,将第一个参数 application 更改为默认值。

    我也遇到了同样的问题,就我的情况而言,我不知道为什么,但它只发生在 Windows 上。参数应用在网络服务器上工作。

    【讨论】:

      【解决方案5】:

      对于 Windows:

      在您的 /app/views/layouts/application.html.erb 第 5 行和第 6 行中,将第一个参数 application 更改为默认值。

      我也遇到了同样的问题,

      这对我有帮助: 将“应用程序”更改为“默认”

      我的代码:

         <!DOCTYPE html>
      <html>
      <head>
        <title>AppSample</title>
        <%= stylesheet_link_tag    'default', media: 'all', 'data-turbolinks-track' => true %>
        <%= javascript_include_tag 'default', 'data-turbolinks-track' => true %>
        <%= csrf_meta_tags %>
      </head>
      <body>
      
      <%= yield %>
      
      </body>
      </html>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-09
        • 1970-01-01
        • 2016-06-22
        • 1970-01-01
        • 2015-03-30
        相关资源
        最近更新 更多