Souvik Das
Souvik Das

Reputation: 335

couldn't find file 'jquery' with type 'application/javascript'

This might seem a repeated question but none of the solutions seem to work for me. I have gem jquery-rails in my Gemfile. Also, the lines

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .

And this is my Gemfile:

source 'https://rubygems.org'


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.1'

# Use SCSS for stylesheets
#gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
#gem 'coffee-rails', '~> 4.1.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'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
#gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'
  # Use mysql as the database for Active Record
  gem 'mysql2'
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

My application.html.erb :

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <%= stylesheet_link_tag 'application', media: 'all' %>
  <%= javascript_include_tag 'application' %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= yield %>

</body>
</html>

I cannot start my Rails application. I do not understand what is the issue. My ruby version is 2.1.6 Please help.

Upvotes: 24

Views: 51505

Answers (7)

s Narayanaswamy
s Narayanaswamy

Reputation: 283

This occurs often times because the Gemfile lacks the gems needed for the jquery dependencies to resolve themselves.

In Rails 5.x, add this to the Gemfile:

gem 'jquery-rails', '~> 4.3', '>= 4.3.3'
gem 'rails-ujs', '~> 0.1.0'

After this, run bundle Install.

Restart the server for it to update the latest changes and voila, it works!

Upvotes: 24

dBz
dBz

Reputation: 49

This issue can be fixed by the following steps bellow.

  1. Make sure that the require jquery statement is there in application.js

    //= require jquery

    //= require jquery_ujs

  2. Make sure that all the required gems are present in the Gemfile, if it is not present add it and execute bundle install command.

    gem 'jquery-rails', '~> 4.3', '>= 4.3.3'

    gem 'rails-ujs', '~> 0.1.0'3.'

  3. If it is still showing the error update your node by runnig

    sudo npm update npm -g

Finally refresh your application.

Upvotes: 1

Adittya Verma
Adittya Verma

Reputation: 289

You simply need to add gem 'jquery-rails' in Gemfile and run bundle install. It worked for me.

Upvotes: -1

Wilson
Wilson

Reputation: 81

Go to gemfile and make sure that gem jquery-rails is uncommented. Run bundle install. That should do it.

Upvotes: -1

Gabe
Gabe

Reputation: 19

In your controller file you can not tell rails not to use a layout by writing

layout false

Directly under your controller class on the second line

class ExampleController < ApplicationController
layout false

Upvotes: 1

novice_dev
novice_dev

Reputation: 714

I am following RoR 4. I came across the same error couldn't find file 'jquery' with type 'application/javascript'. I did the following and was successful in running my app

  • gem 'jquery-rails' and gem 'turbolinks'
  • bundle update
  • bundle install

Upvotes: 35

Souvik Das
Souvik Das

Reputation: 335

This is caused because of default javascript runtimes that are already available in Windows but has some compatibility issues. The most easy workaround is to install nodejs from http://nodejs.org/download/ and then restart your PC. This solves all the issues.

For more details about the issue, please refer to this page : ExecJS::RuntimeError on Windows trying to follow rubytutorial

Upvotes: 1

Related Questions