2017-07-28 55 views
2

我试图将我的rails应用程序部署到heroku,但推向heroku被拒绝,原因是:“Sprockets: :FileNotFound:找不到类型为'application/javascript'的文件'jquery'“。 I've also attached a screenshot of the errorSprockets :: FileNotFound:找不到类型为'application/javascript'的文件'jquery'Heroku in Rails App

这是我的Gemfile:

source 'https://rubygems.org' 

git_source(:github) do |repo_name| 
    repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") 
    "https://github.com/#{repo_name}.git" 
end 


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '~> 5.1.2' 
gem 'jquery-rails' 
gem 'jquery-ui-rails' 

# Use postgresql as the database for Active Record 
gem 'pg', '~> 0.18' 
# Use Puma as the app server 
gem 'puma', '~> 3.7' 
# Use SCSS for stylesheets 
gem 'sass-rails', '~> 5.0' 
# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 
# See https://github.com/rails/execjs#readme for more supported runtimes 
gem 'therubyracer', platforms: :ruby 

# Use CoffeeScript for .coffee assets and views 
gem 'coffee-rails', '~> 4.2' 
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks 
gem 'turbolinks', '~> 5' 
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 2.5' 
# Use Redis adapter to run Action Cable in production 
# gem 'redis', '~> 3.0' 
# Use ActiveModel has_secure_password 
# gem 'bcrypt', '~> 3.1.7' 

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

gem 'bootstrap', '~> 4.0.0.alpha6' 
#Tooltips and popovers depend on tether for positioning 
source 'https://rails-assets.org' do 
    gem 'rails-assets-tether', '>= 1.3.3' 
end 

gem 'devise' 
gem 'simple_form' 
gem 'carrierwave', '~> 1.0' 

group :development, :test do 
    # Call 'byebug' anywhere in the code to stop execution and get a debugger console 
    gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] 
    # Adds support for Capybara system testing and selenium driver 
    gem 'capybara', '~> 2.13' 
    gem 'selenium-webdriver' 
    gem 'pry-rails' 
end 

group :development do 
    # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. 
    gem 'web-console', '>= 3.3.0' 
    gem 'listen', '>= 3.0.5', '< 3.2' 
    # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring 
    gem 'spring' 
    gem 'spring-watcher-listen', '~> 2.0.0' 
end 

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

application.js看起来像这样

//= require jquery 
//= require jquery_ujs 
//= require jquery-ui 
//= require tether 
//= require bootstrap-sprockets 
//= require rails-ujs 
//= require turbolinks 
//= require_tree 

而且我application.scss看起来是这样的:

*= require jquery-ui 
*= require_tree . 
*= require_self 
*/ 
@import "bootstrap"; 

应用程序运行在本地罚款我不能说他们推到heroku。我已经尝试过rake assets:precompile,并在推送到heroku之前进行修改,但仍然没有运气。

回答

2

删除宝石jquery-rails, jquery-ui-rails,Rails 5.1默认使用rails-ujs而不使用jquery。使用纱线安装jquery - yarn add jqueryYarn

+0

我删除了两个gem,从'application.js'和'application.scss'删除了包含'jquery'的行,运行'yarn add jquery','bundle install',运行'rake assets:precompile',提交并推到heroku,但我仍然得到同样的错误。 – Swojeet

+0

在通过纱线添加jquery之后,您需要在application.js中添加jquery的路径,[here](http://nithinbekal.com/posts/yarn-rails/)是一篇关于如何在rails中使用yarn的小文章5.1 – gururuby

+0

它的工作!谢谢! – Swojeet

相关问题