I get this error when I run a new empty rails (4.0) site:
Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile.
I have a valid sqlite3 gem built with the devkit. I made a dumb test for that:
w:...> ruby hello.rb
hello world
test.db is done.
Which also creates an empty database, called "test.db" as shown below. Simple ruby script:
require "sqlite3"
puts "hello world"
# Open a database
db = SQLite3::Database.new "test.db"
puts "test.db is done."
My conclusion is that the sqlite3 gem is working OK and that there's something amiss inside rails some place. Suggestions or explanations welcome.
Bit of an update following the comment about Gemfile:
# Use sqlite3 as the database for Active Record
gem 'sqlite3', group: [:development, :test]
In addition, I used the bundle show command, and I find this strange:
w:...> bundle show sqlite3
Could not find gem 'sqlite3'.
Did you mean sqlite3?
When I do a bundle install the output list does not include sqlite3. I should add the Gemfile and everything else was generated right out of the box by a "rails new train" command (project name, 'train' of course).
Environment is an install of Ruby v2, Rails v4 on Windows 7 64-bit PC. I have PIK to manage different versions of ruby. Suggestions welcome, thanks in advance, Will.
Everything is/should be fresh-out-of-the-box Rails 4/Ruby 2 configuration. I'm adding the server's stack dump also, since in theory a fresh install should be working.
Gem::LoadError (Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile.):
activerecord (4.0.0) lib/active_record/connection_adapters/connection_specification.rb:58:in `rescue in resolve_hash_connection'
activerecord (4.0.0) lib/active_record/connection_adapters/connection_specification.rb:55:in `resolve_hash_connection'
activerecord (4.0.0) lib/active_record/connection_adapters/connection_specification.rb:46:in `resolve_string_connection'
activerecord (4.0.0) lib/active_record/connection_adapters/connection_specification.rb:30:in `spec'
activerecord (4.0.0) lib/active_record/connection_handling.rb:39:in `establish_connection'
activerecord (4.0.0) lib/active_record/railtie.rb:175:in `block (2 levels) in <class:Railtie>'
activesupport (4.0.0) lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
activesupport (4.0.0) lib/active_support/lazy_load_hooks.rb:38:in `execute_hook'
activesupport (4.0.0) lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
activesupport (4.0.0) lib/active_support/lazy_load_hooks.rb:44:in `each'
activesupport (4.0.0) lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
activerecord (4.0.0) lib/active_record/base.rb:322:in `<module:ActiveRecord>'
activerecord (4.0.0) lib/active_record/base.rb:22:in `<top (required)>'
activerecord (4.0.0) lib/active_record/query_cache.rb:50:in `restore_query_cache_settings'
activerecord (4.0.0) lib/active_record/query_cache.rb:43:in `rescue in call'
activerecord (4.0.0) lib/active_record/query_cache.rb:32:in `call'
activerecord (4.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:626:in `call'
activerecord (4.0.0) lib/active_record/migration.rb:369:in `call'
actionpack (4.0.0) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.0.0) lib/active_support/callbacks.rb:373:in `_run__398267657__call__callbacks'
activesupport (4.0.0) lib/active_support/callbacks.rb:80:in `run_callbacks'
actionpack (4.0.0) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.0.0) lib/action_dispatch/middleware/reloader.rb:64:in `call'
actionpack (4.0.0) lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
actionpack (4.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.0.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.0.0) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.0.0) lib/rails/rack/logger.rb:21:in `block in call'
activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:in `block in tagged'
activesupport (4.0.0) lib/active_support/tagged_logging.rb:25:in `tagged'
activesupport (4.0.0) lib/active_support/tagged_logging.rb:67:in `tagged'
railties (4.0.0) lib/rails/rack/logger.rb:21:in `call'
actionpack (4.0.0) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call'
rack (1.5.2) lib/rack/runtime.rb:17:in `call'
activesupport (4.0.0) lib/active_support/cache/strategy/local_cache.rb:83:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
actionpack (4.0.0) lib/action_dispatch/middleware/static.rb:64:in `call'
railties (4.0.0) lib/rails/engine.rb:511:in `call'
railties (4.0.0) lib/rails/application.rb:97:in `call'
rack (1.5.2) lib/rack/lock.rb:17:in `call'
rack (1.5.2) lib/rack/content_length.rb:14:in `call'
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service'
B:/lang/ruby/v02.00/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
B:/lang/ruby/v02.00/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
B:/lang/ruby/v02.00/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
Two bits of news to report. I was passed an explanation for this on the PIK mailing list:
[Luis Lavena] You don't indicate which version of Ruby 2.0 are you using (the exact output of "ruby -v"), but I will assume is x64 bit, correct?
If that is the case, then you're affected by a bug in Bundler. The same was reported here:
https://github.com/sparklemotion/sqlite3-ruby/issues/109
Yes, the problem is happening with Ruby v2 64-bit
w:...> ruby -v
ruby 2.0.0p195 (2013-05-14) [x64-mingw32]
w:...> bundle -v
Bundler version 1.3.5
Reading the sparklemotion post the error lies with Bundler. To be fathomed I guess.
On the plus side. I used Rails 4 with Ruby 2 to make the rails project and can run the server to use SQLite3 using JRuby by changing the Gemfile to use the jdbc driver, as shown:
# Use sqlite3 as the database for Active Record
group :development, :test do
# gem 'sqlite3'
gem 'activerecord-jdbc-adapter'
gem 'jdbc-sqlite3'
end
It almost looks like Bundler has a thing against SQLite3 doesn't it?
One last thing. The Sqlite3 gem build OK with Ruby v2 and works, as demonstrated with my toy test program. Since it is just a Gem ... the Bundler problem may pop-up for some other gems -- Be alert, probably best to upgrade as soon as you see the problem:
w:...> ruby -S gem update bundler --prerelease
Updating installed gems
Updating bundler
Fetching: bundler-1.4.0.rc.1.gem (100%)
Successfully installed bundler-1.4.0.rc.1
Parsing documentation for bundler-1.4.0.rc.1
Installing ri documentation for bundler-1.4.0.rc.1
Installing darkfish documentation for bundler-1.4.0.rc.1
Done installing documentation for bundler after 9 seconds
Gems updated: bundler
Just check the list
w:...> bundle list
Gems included by the bundle:
:
* sprockets (2.10.0)
* sprockets-rails (2.0.1)
* sqlite3 (1.3.8)
* thor (0.18.1)
:
Works a treat!
:-)
Dou you have:
gem 'sqlite3'
or something like this
gem 'sqlite3', group: [:development, :test]
in your Gemfile?
Related
Using the Rails 6 "Blog" template guide, successfully created and ran Rails app in Development on Ubuntu 20.04.
Using this guide https://blog.engineyard.com/using-docker-for-rails, I created the production container (I needed to extend the dummy database string with a dummer key master for precomile in Rails 6). The resulting container starts but the page of smiling Rails faces (Yay! You’re on Rails!) does not appear, instead.
Note: I have read several different page opinions on Rails in Production container and they have the same basic process as the page referenced, with suble variations on environment variable placement, etc. The log from the container follows
=> Booting Puma
=> Rails 6.0.3.3 application starting in production
=> Run `rails server --help` for more startup options
Puma starting in single mode...
* Version 4.3.6 (ruby 2.7.0-p0), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: production
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop
I, [2020-09-26T22:29:36.819615 #1] INFO -- : [272cb1aa-9a2a-43f9-bf40-66d4b9a43211] Started GET "/" for 172.23.0.3 at 2020-09-26 22:29:36 +0000
F, [2020-09-26T22:29:36.820134 #1] FATAL -- : [272cb1aa-9a2a-43f9-bf40-66d4b9a43211]
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] ActionController::RoutingError (No route matches [GET] "/"):
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211]
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] actionpack (6.0.3.3) lib/action_dispatch/middleware/debug_exceptions.rb:36:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] actionpack (6.0.3.3) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] railties (6.0.3.3) lib/rails/rack/logger.rb:37:in `call_app'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] railties (6.0.3.3) lib/rails/rack/logger.rb:26:in `block in call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] activesupport (6.0.3.3) lib/active_support/tagged_logging.rb:80:in `block in tagged'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] activesupport (6.0.3.3) lib/active_support/tagged_logging.rb:28:in `tagged'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] activesupport (6.0.3.3) lib/active_support/tagged_logging.rb:80:in `tagged'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] railties (6.0.3.3) lib/rails/rack/logger.rb:26:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] actionpack (6.0.3.3) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] actionpack (6.0.3.3) lib/action_dispatch/middleware/request_id.rb:27:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] rack (2.2.3) lib/rack/method_override.rb:24:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] rack (2.2.3) lib/rack/runtime.rb:22:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] activesupport (6.0.3.3) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] actionpack (6.0.3.3) lib/action_dispatch/middleware/executor.rb:14:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] actionpack (6.0.3.3) lib/action_dispatch/middleware/static.rb:126:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] actionpack (6.0.3.3) lib/action_dispatch/middleware/host_authorization.rb:82:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] railties (6.0.3.3) lib/rails/engine.rb:527:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] puma (4.3.6) lib/puma/configuration.rb:228:in `call'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] puma (4.3.6) lib/puma/server.rb:713:in `handle_request'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] puma (4.3.6) lib/puma/server.rb:472:in `process_client'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] puma (4.3.6) lib/puma/server.rb:328:in `block in run'
[272cb1aa-9a2a-43f9-bf40-66d4b9a43211] puma (4.3.6) lib/puma/thread_pool.rb:134:in `block in spawn_thread'
I have verified the static content is presenting by testing /robots.txt and this downloads as expected.
The short answer is, the following smoke-test image only renders in development
I progressed one more step on the tutorial, with the key being a genuine route and once installed in the production container, it rendered the same as Development.
Rails.application.routes.draw do
get 'welcome/index'
root 'welcome#index'
end
I can now start my development journey.
I'm trying to add a custom font to rails and no matter what I do it doesn't seem to work, I've read a few other questions on github about this issue but I cant get it to work for myself.
I have put the font file into
app/assets/fonts
the name of the file is called "above.tff" and I have declared it in my CSS like this
#font-face {
font-family: 'above';
src: url(/assets/above.tff) format('truetype');
}
Which is how the top answer in this question says to do so Official way of adding custom fonts to Rails 4?
And then I apply it to the element using
font-family: 'above';
And it doesn't work and I get this error on my console.
ActionController::RoutingError (No route matches [GET] "/assets/above.tff"):
actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call'
web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app'
web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call'
web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch'
web-console (3.5.1) lib/web_console/middleware.rb:18:in `call'
actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:11:in `block in call'
activesupport (5.1.4) lib/active_support/logger_silence.rb:20:in `silence'
activesupport (5.1.4) lib/active_support/logger.rb:63:in `block (3 levels) in broadcast'
activesupport (5.1.4) lib/active_support/logger_silence.rb:20:in `silence'
activesupport (5.1.4) lib/active_support/logger.rb:61:in `block (2 levels) in broadcast'
sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:11:in `call'
actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
rack (2.0.3) lib/rack/method_override.rb:22:in `call'
rack (2.0.3) lib/rack/runtime.rb:22:in `call'
activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
railties (5.1.4) lib/rails/engine.rb:522:in `call'
puma (3.11.0) lib/puma/configuration.rb:225:in `call'
puma (3.11.0) lib/puma/server.rb:624:in `handle_request'
puma (3.11.0) lib/puma/server.rb:438:in `process_client'
puma (3.11.0) lib/puma/server.rb:302:in `block in run'
puma (3.11.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread'
Try this font-url method is available which correctly routes and checks the assets/fonts directory
#font-face {
font-family: 'above';
src: font-url('above.tff') format('truetype');
}
A couple of things,
I really doubt the filename would be above.tff haven't see tff extension for fonts before, could be a typo, but i think it should be ttf
after changing to the above code, rename your css file to have an extension of scss
I'm new to web development and I have been following the Learn ruby on rails tutorial by David Kehoe on a Windows machine. For the past couple of days I have been stuck on the same error and I have tried almost all possible solutions I can find on the internet.
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><%= content_for?(:title) ? yield(:title) : "Learn Rails" %></title>
<meta name="description" content="<%= content_for?(:description) ? yield(:description) : "Learn Rails" %>">
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%# Modernizr is required for Zurb Foundation %>
<%= javascript_include_tag 'vendor/modernizr' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
The problem is with the line:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
I already have NodeJs installed and I dont think the problem is with any of the javascript files because it works without the css if I take out that line. I have also tried removing require tree which didn't help.
This is my Gemfile:
source 'https://rubygems.org'
ruby '2.1.5'
gem 'rails', '4.2.2'
gem 'sqlite3'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
group :development, :test do
gem 'byebug'
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]
# learn-rails
gem 'activerecord-tableless'
gem 'compass-rails', '~> 2.0.alpha.0'
gem 'figaro'
gem 'gibbon'
gem 'google_drive'
gem 'high_voltage'
gem 'simple_form'
gem 'zurb-foundation'
group :development do
gem 'better_errors'
gem 'quiet_assets'
gem 'rails_layout'
end
And application.css.scss:
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
* compiled file so the styles you add here take precedence over styles defined in any styles
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
* file per style scope.
*
*= require_tree .
*= require_self
*/
Is there anyone else who has had this problem and found a solution?
This is the stack trace for the current error. For some reason it changed from wrong number of arguements (1 for 2) to (3 for 2):
ArgumentError - wrong number of arguments (3 for 2):
sprockets (3.2.0) lib/sprockets/sass_cache_store.rb:14:in `_store'
sass (3.4.15) lib/sass/cache_stores/base.rb:51:in `store'
sass (3.4.15) lib/sass/engine.rb:414:in `_to_tree'
sass (3.4.15) lib/sass/engine.rb:309:in `to_tree'
sass (3.4.15) lib/sass/engine.rb:343:in `_dependencies'
sass (3.4.15) lib/sass/engine.rb:331:in `dependencies'
compass-rails (2.0.4) lib/compass-rails/patches/sass_importer.rb:36:in `evalua
te'
tilt (1.4.1) lib/tilt/template.rb:103:in `render'
sprockets (3.2.0) lib/sprockets/legacy_tilt_processor.rb:25:in `call'
sprockets (3.2.0) lib/sprockets/processor_utils.rb:75:in `call_processor'
sprockets (3.2.0) lib/sprockets/processor_utils.rb:57:in `block in call_proces
sors'
sprockets (3.2.0) lib/sprockets/processor_utils.rb:56:in `call_processors'
sprockets (3.2.0) lib/sprockets/loader.rb:86:in `load_asset_by_uri'
sprockets (3.2.0) lib/sprockets/loader.rb:45:in `block in load'
sprockets (3.2.0) lib/sprockets/loader.rb:155:in `fetch_asset_from_dependency_
cache'
sprockets (3.2.0) lib/sprockets/loader.rb:38:in `load'
sprockets (3.2.0) lib/sprockets/cached_environment.rb:20:in `block in initiali
ze'
sprockets (3.2.0) lib/sprockets/cached_environment.rb:47:in `load'
sprockets (3.2.0) lib/sprockets/bundle.rb:23:in `block in call'
sprockets (3.2.0) lib/sprockets/utils.rb:183:in `dfs'
sprockets (3.2.0) lib/sprockets/bundle.rb:24:in `call'
sprockets (3.2.0) lib/sprockets/processor_utils.rb:75:in `call_processor'
sprockets (3.2.0) lib/sprockets/processor_utils.rb:57:in `block in call_proces
sors'
sprockets (3.2.0) lib/sprockets/processor_utils.rb:56:in `call_processors'
sprockets (3.2.0) lib/sprockets/loader.rb:86:in `load_asset_by_uri'
sprockets (3.2.0) lib/sprockets/loader.rb:45:in `block in load'
sprockets (3.2.0) lib/sprockets/loader.rb:155:in `fetch_asset_from_dependency_
cache'
sprockets (3.2.0) lib/sprockets/loader.rb:38:in `load'
sprockets (3.2.0) lib/sprockets/cached_environment.rb:20:in `block in initiali
ze'
sprockets (3.2.0) lib/sprockets/cached_environment.rb:47:in `load'
sprockets (3.2.0) lib/sprockets/base.rb:63:in `find_asset'
sprockets (3.2.0) lib/sprockets/environment.rb:30:in `find_asset'
sprockets (3.2.0) lib/sprockets/base.rb:89:in `[]'
sprockets-rails (2.3.2) lib/sprockets/rails/helper.rb:230:in `lookup_asset_for
_path'
sprockets-rails (2.3.2) lib/sprockets/rails/helper.rb:190:in `check_errors_for
'
sprockets-rails (2.3.2) lib/sprockets/rails/helper.rb:159:in `block in stylesh
eet_link_tag'
sprockets-rails (2.3.2) lib/sprockets/rails/helper.rb:158:in `stylesheet_link_
tag'
app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_ht
ml_erb___453486602_48019296'
actionview (4.2.2) lib/action_view/template.rb:145:in `block in render'
activesupport (4.2.2) lib/active_support/notifications.rb:166:in `instrument'
actionview (4.2.2) lib/action_view/template.rb:333:in `instrument'
actionview (4.2.2) lib/action_view/template.rb:143:in `render'
actionview (4.2.2) lib/action_view/renderer/template_renderer.rb:66:in `render
_with_layout'
actionview (4.2.2) lib/action_view/renderer/template_renderer.rb:52:in `render
_template'
actionview (4.2.2) lib/action_view/renderer/template_renderer.rb:14:in `render
'
actionview (4.2.2) lib/action_view/renderer/renderer.rb:42:in `render_template
'
actionview (4.2.2) lib/action_view/renderer/renderer.rb:23:in `render'
actionview (4.2.2) lib/action_view/rendering.rb:100:in `_render_template'
actionpack (4.2.2) lib/action_controller/metal/streaming.rb:217:in `_render_te
mplate'
actionview (4.2.2) lib/action_view/rendering.rb:83:in `render_to_body'
actionpack (4.2.2) lib/action_controller/metal/rendering.rb:32:in `render_to_b
ody'
actionpack (4.2.2) lib/action_controller/metal/renderers.rb:37:in `render_to_b
ody'
actionpack (4.2.2) lib/abstract_controller/rendering.rb:25:in `render'
actionpack (4.2.2) lib/action_controller/metal/rendering.rb:16:in `render'
actionpack (4.2.2) lib/action_controller/metal/instrumentation.rb:44:in `block
(2 levels) in render'
activesupport (4.2.2) lib/active_support/core_ext/benchmark.rb:12:in `block in
ms'
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
activesupport (4.2.2) lib/active_support/core_ext/benchmark.rb:12:in `ms'
actionpack (4.2.2) lib/action_controller/metal/instrumentation.rb:44:in `block
in render'
actionpack (4.2.2) lib/action_controller/metal/instrumentation.rb:87:in `clean
up_view_runtime'
activerecord (4.2.2) lib/active_record/railties/controller_runtime.rb:25:in `c
leanup_view_runtime'
actionpack (4.2.2) lib/action_controller/metal/instrumentation.rb:43:in `rende
r'
actionpack (4.2.2) lib/action_controller/metal/implicit_render.rb:10:in `defau
lt_render'
actionpack (4.2.2) lib/action_controller/metal/implicit_render.rb:5:in `send_a
ction'
actionpack (4.2.2) lib/abstract_controller/base.rb:198:in `process_action'
actionpack (4.2.2) lib/action_controller/metal/rendering.rb:10:in `process_act
ion'
actionpack (4.2.2) lib/abstract_controller/callbacks.rb:20:in `block in proces
s_action'
activesupport (4.2.2) lib/active_support/callbacks.rb:117:in `call'
activesupport (4.2.2) lib/active_support/callbacks.rb:555:in `block (2 levels)
in compile'
activesupport (4.2.2) lib/active_support/callbacks.rb:505:in `call'
activesupport (4.2.2) lib/active_support/callbacks.rb:92:in `_run_callbacks'
activesupport (4.2.2) lib/active_support/callbacks.rb:776:in `_run_process_act
ion_callbacks'
activesupport (4.2.2) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (4.2.2) lib/abstract_controller/callbacks.rb:19:in `process_action'
actionpack (4.2.2) lib/action_controller/metal/rescue.rb:29:in `process_action
'
actionpack (4.2.2) lib/action_controller/metal/instrumentation.rb:32:in `block
in process_action'
activesupport (4.2.2) lib/active_support/notifications.rb:164:in `block in ins
trument'
activesupport (4.2.2) lib/active_support/notifications/instrumenter.rb:20:in `
instrument'
activesupport (4.2.2) lib/active_support/notifications.rb:164:in `instrument'
actionpack (4.2.2) lib/action_controller/metal/instrumentation.rb:30:in `proce
ss_action'
actionpack (4.2.2) lib/action_controller/metal/params_wrapper.rb:250:in `proce
ss_action'
activerecord (4.2.2) lib/active_record/railties/controller_runtime.rb:18:in `p
rocess_action'
actionpack (4.2.2) lib/abstract_controller/base.rb:137:in `process'
actionview (4.2.2) lib/action_view/rendering.rb:30:in `process'
actionpack (4.2.2) lib/action_controller/metal.rb:196:in `dispatch'
actionpack (4.2.2) lib/action_controller/metal/rack_delegation.rb:13:in `dispa
tch'
actionpack (4.2.2) lib/action_controller/metal.rb:237:in `block in action'
actionpack (4.2.2) lib/action_dispatch/routing/route_set.rb:74:in `dispatch'
actionpack (4.2.2) lib/action_dispatch/routing/route_set.rb:43:in `serve'
actionpack (4.2.2) lib/action_dispatch/journey/router.rb:43:in `block in serve
'
actionpack (4.2.2) lib/action_dispatch/journey/router.rb:30:in `serve'
actionpack (4.2.2) lib/action_dispatch/routing/route_set.rb:819:in `call'
rack (1.6.4) lib/rack/etag.rb:24:in `call'
rack (1.6.4) lib/rack/conditionalget.rb:25:in `call'
rack (1.6.4) lib/rack/head.rb:13:in `call'
actionpack (4.2.2) lib/action_dispatch/middleware/params_parser.rb:27:in `call
'
actionpack (4.2.2) lib/action_dispatch/middleware/flash.rb:260:in `call'
rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'
actionpack (4.2.2) lib/action_dispatch/middleware/cookies.rb:560:in `call'
activerecord (4.2.2) lib/active_record/query_cache.rb:36:in `call'
activerecord (4.2.2) lib/active_record/connection_adapters/abstract/connection
_pool.rb:649:in `call'
activerecord (4.2.2) lib/active_record/migration.rb:378:in `call'
actionpack (4.2.2) lib/action_dispatch/middleware/callbacks.rb:29:in `block in
call'
activesupport (4.2.2) lib/active_support/callbacks.rb:88:in `_run_callbacks'
activesupport (4.2.2) lib/active_support/callbacks.rb:776:in `_run_call_callba
cks'
activesupport (4.2.2) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (4.2.2) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.2.2) lib/action_dispatch/middleware/reloader.rb:73:in `call'
actionpack (4.2.2) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
better_errors (2.1.1) lib/better_errors/middleware.rb:84:in `protected_app_cal
l'
better_errors (2.1.1) lib/better_errors/middleware.rb:79:in `better_errors_cal
l'
better_errors (2.1.1) lib/better_errors/middleware.rb:57:in `call'
actionpack (4.2.2) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `c
all'
web-console (2.1.3) lib/web_console/middleware.rb:37:in `call'
actionpack (4.2.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `ca
ll'
railties (4.2.2) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.2.2) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.2.2) lib/active_support/tagged_logging.rb:68:in `block in tag
ged'
activesupport (4.2.2) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.2.2) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.2.2) lib/rails/rack/logger.rb:20:in `call'
quiet_assets (1.1.0) lib/quiet_assets.rb:27:in `call_with_quiet_assets'
actionpack (4.2.2) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
rack (1.6.4) lib/rack/runtime.rb:18:in `call'
activesupport (4.2.2) lib/active_support/cache/strategy/local_cache_middleware
.rb:28:in `call'
rack (1.6.4) lib/rack/lock.rb:17:in `call'
actionpack (4.2.2) lib/action_dispatch/middleware/static.rb:113:in `call'
rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
railties (4.2.2) lib/rails/engine.rb:518:in `call'
railties (4.2.2) lib/rails/application.rb:164:in `call'
rack (1.6.4) lib/rack/lock.rb:17:in `call'
rack (1.6.4) lib/rack/content_length.rb:15:in `call'
rack (1.6.4) lib/rack/handler/webrick.rb:88:in `service'
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:138:in `servi
ce'
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/httpserver.rb:94:in `run'
C:/RailsInstaller/Ruby2.1.0/lib/ruby/2.1.0/webrick/server.rb:295:in `block in
start_thread'
You're using an old alpha release of compass, this is a known issue.
After reading this Github Issue It sounds like the working combo of gems is:
gem 'sass-rails', '~> 5.0'
gem 'compass-rails', '~> 2.0.4'
That should work.
I just hit this, and the following worked for me (as Zuru mentioned in a sub-comment - posting for easier readability).
gem "compass-rails", github: "Compass/compass-rails", branch: "master"
gem 'sprockets', '2.11.0
I have the same problem described here:
How to call a Capistrano's task within another Capistrano's task?
However the workaround solution of rolling back to Capistrano v3.0.1 and sshkit 1.0 does not work for me.
Using this tutorial, I have declared custom tasks in lib/capistrano/tasks which use functions decalared in .rb files stored at lib/capistrano/
capfile:
# Load DSL and Setup Up Stages
require 'capistrano/setup'
# Includes default deployment tasks
require 'capistrano/deploy'
require 'capistrano/rails'
require 'capistrano/rvm'
# Loads custom tasks from `lib/capistrano/tasks' if you have any defined.
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }
# Loads custom tasks from all folders below `lib/capistrano' if you have any defined.
Dir.glob('lib/capistrano/**/*.rb').each { |r| import r }
# because the above didn't quite look right to me, and all the .rbs are in /lib/capistrano
Dir.glob('lib/capistrano/*.rb').each { |r| import r }
deploy.rb
set :application, 'hello-rails'
set :app_shortname, 'hr'
set :repo_url, 'git#bitbutcket.org:me/myapp.git' #<-substituted fake info here for this post
# Default value for :linked_files is []
set :linked_files, %w{config/database.yml config/application.yml}
# Default value for linked_dirs is []
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}
# everything below this comment adapted from the talkingquickly tutorial
#which config files should be copied by deploy:setup_config
set(:config_files, %w(
nginx.conf
unicorn.rb
unicorn_init.sh
))
# which config files should be made executable after copying
# by deploy:setup_config
set(:executable_config_files, %w(unicorn_init.sh))
# files which need to be symlinked
set(:symlinks, [
{
source: "nginx.conf",
link: "/etc/nginx/sites-enabled/{{full_app_name}}"
},
{
source: "unicorn_init.sh",
link: "/etc/init.d/unicorn_{{full_app_name}}"
}
])
#specify my ruby version
set :rvm_type, :system
#specify my gemset
set :rvm_ruby_version, '1.9.3-p385#hello-rails'
namespace :deploy do
# make sure we're deploying what we think we're deploying
before :deploy, "deploy:check_revision"
# only allow a deploy with passing tests to deployed
before :deploy, "deploy:run_tests"
# compile assets locally then rsync
after 'deploy:symlink:shared', 'deploy:compile_assets_locally'
after :finishing, 'deploy:cleanup'
end
config/staging.rb
set :stage, :staging
set :branch, "cap-rails"
set :rails_env, :test
# used in case we're deploying multiple versions of the same
# app side by side. Also provides quick sanity checks when looking
# at filepaths
set :full_app_name, "#{fetch(:app_shortname)}_#{fetch(:stage)}"
set :deploy_to, "/srv/#{fetch(:app_shortname)}"
# number of unicorn workers
set :unicorn_worker_count, 5
# For building nginx config file
set :enable_ssl, false
# extended properties on the server.
server 'dev', user: 'deployer', roles: %w{web app} #<-substituted fake info here for this post
# custom ssh options
set :ssh_options, {
user: 'deployer', #<-substituted fake info here for this post
keys: %w(path.to.key), #<-substituted fake info here for this post
forward_agent: true,
auth_methods: %w(publickey)
}
lib/capistrano/tasks/setup_config.cap
namespace :deploy do
task :setup_config do
on roles(:app) do
# make the config dir
execute :mkdir, "-p #{shared_path}/config"
full_app_name = fetch(:full_app_name)
# config files to be uploaded to shared/config, see the
# definition of smart_template for details of operation.
# Essentially looks for #{filename}.erb in deploy/#{full_app_name}/
# and if it isn't there, falls back to deploy/#{shared}. Generally
# everything should be in deploy/shared with params which differ
# set in the stage files
config_files = fetch(:config_files)
config_files.each do |file|
smart_template file
end
# which of the above files should be marked as executable
executable_files = fetch(:executable_config_files)
executable_files.each do |file|
execute :chmod, "+x #{shared_path}/config/#{file}"
end
# symlink stuff which should be... symlinked
symlinks = fetch(:symlinks)
symlinks.each do |symlink|
sudo "ln -nfs #{shared_path}/config/#{symlink[:source]} #{sub_strings(symlink[:link])}"
end
end
end
end
lib/capistrano/template.rb
def smart_template(from, to=nil)
to ||= from
full_to_path = "#{shared_path}/config/#{to}"
if from_erb_path = template_file(from)
from_erb = StringIO.new(ERB.new(File.read(from_erb_path)).result(binding))
upload! from_erb, full_to_path
info "copying: #{from_erb} to: #{full_to_path}"
else
error "error #{from} not found"
end
end
def template_file(name)
if File.exist?((file = "config/deploy/#{fetch(:full_app_name)}/#{name}.erb"))
return file
elsif File.exist?((file = "config/deploy/shared/#{name}.erb"))
return file
end
return nil
end
Gemfile
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.4'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.2'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# 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', '~> 1.2'
#because sshkit 1.3 has this bug: https://stackoverflow.com/questions/21401665/how-to-call-a-capistranos-task-within-another-capistranos-task
gem 'sshkit', '~> 1.0.0'
gem 'capistrano', '~> 3.0.1'
gem 'capistrano-rails', '~> 1.1'
gem 'capistrano-rvm'
group :doc do
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', require: false
end
Gemfile.lock
GEM
remote: https://rubygems.org/
specs:
actionmailer (4.0.4)
actionpack (= 4.0.4)
mail (~> 2.5.4)
actionpack (4.0.4)
activesupport (= 4.0.4)
builder (~> 3.1.0)
erubis (~> 2.7.0)
rack (~> 1.5.2)
rack-test (~> 0.6.2)
activemodel (4.0.4)
activesupport (= 4.0.4)
builder (~> 3.1.0)
activerecord (4.0.4)
activemodel (= 4.0.4)
activerecord-deprecated_finders (~> 1.0.2)
activesupport (= 4.0.4)
arel (~> 4.0.0)
activerecord-deprecated_finders (1.0.3)
activesupport (4.0.4)
i18n (~> 0.6, >= 0.6.9)
minitest (~> 4.2)
multi_json (~> 1.3)
thread_safe (~> 0.1)
tzinfo (~> 0.3.37)
arel (4.0.2)
atomic (1.1.16)
builder (3.1.4)
capistrano (3.0.1)
i18n
rake (>= 10.0.0)
sshkit (>= 0.0.23)
capistrano-bundler (1.0.0)
capistrano (>= 3.0.0.pre)
capistrano-rails (1.1.0)
capistrano (>= 3.0.0)
capistrano-bundler (>= 1.0.0)
capistrano-rvm (0.0.3)
capistrano
coffee-rails (4.0.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.0)
coffee-script (2.2.0)
coffee-script-source
execjs
coffee-script-source (1.7.0)
erubis (2.7.0)
execjs (2.0.2)
hike (1.2.3)
i18n (0.6.9)
jbuilder (1.5.3)
activesupport (>= 3.0.0)
multi_json (>= 1.2.0)
jquery-rails (3.1.0)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
json (1.8.1)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.25.1)
minitest (4.7.5)
multi_json (1.9.2)
net-scp (1.1.2)
net-ssh (>= 2.6.5)
net-ssh (2.8.0)
polyglot (0.3.4)
rack (1.5.2)
rack-test (0.6.2)
rack (>= 1.0)
rails (4.0.4)
actionmailer (= 4.0.4)
actionpack (= 4.0.4)
activerecord (= 4.0.4)
activesupport (= 4.0.4)
bundler (>= 1.3.0, < 2.0)
railties (= 4.0.4)
sprockets-rails (~> 2.0.0)
railties (4.0.4)
actionpack (= 4.0.4)
activesupport (= 4.0.4)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (10.2.2)
rdoc (4.1.1)
json (~> 1.4)
sass (3.2.18)
sass-rails (4.0.2)
railties (>= 4.0.0, < 5.0)
sass (~> 3.2.0)
sprockets (~> 2.8, <= 2.11.0)
sprockets-rails (~> 2.0.0)
sdoc (0.4.0)
json (~> 1.8)
rdoc (~> 4.0, < 5.0)
sprockets (2.11.0)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-rails (2.0.1)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (~> 2.8)
sqlite3 (1.3.9)
sshkit (1.0.0)
net-scp
net-ssh
term-ansicolor
term-ansicolor (1.3.0)
tins (~> 1.0)
thor (0.19.1)
thread_safe (0.3.1)
atomic (>= 1.1.7, < 2)
tilt (1.4.1)
tins (1.0.1)
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
turbolinks (2.2.1)
coffee-rails
tzinfo (0.3.39)
uglifier (2.5.0)
execjs (>= 0.3.0)
json (>= 1.8.0)
PLATFORMS
ruby
DEPENDENCIES
capistrano (~> 3.0.1)
capistrano-rails (~> 1.1)
capistrano-rvm
coffee-rails (~> 4.0.0)
jbuilder (~> 1.2)
jquery-rails
rails (= 4.0.4)
sass-rails (~> 4.0.2)
sdoc
sqlite3
sshkit (~> 1.0.0)
turbolinks
uglifier (>= 1.3.0)
When I execute
bundle exec cap staging deploy:setup_config
I get this output:
INFO [9e71d728] Running mkdir -p /srv/hr/shared/config on ruby-dev
DEBUG [9e71d728] Command: mkdir -p /srv/hr/shared/config
INFO [9e71d728] Finished in 0.738 seconds command successful.
cap aborted!
NoMethodError: undefined method `smart_template' for #<SSHKit::Backend::Netssh:0x007f8a4dc04980>
/Users/nico/DevOps/repo/hello-rails/lib/capistrano/tasks/setup_config.cap:16:in `block (4 levels) in <top (required)>'
/Users/nico/DevOps/repo/hello-rails/lib/capistrano/tasks/setup_config.cap:15:in `each'
/Users/nico/DevOps/repo/hello-rails/lib/capistrano/tasks/setup_config.cap:15:in `block (3 levels) in <top (required)>'
/Users/nico/.rvm/gems/ruby-1.9.3-p385#hello-rails-cap-v3-sshkit-v1/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:42:in `instance_exec'
/Users/nico/.rvm/gems/ruby-1.9.3-p385#hello-rails-cap-v3-sshkit-v1/gems/sshkit-1.0.0/lib/sshkit/backends/netssh.rb:42:in `run'
It appears that using capistrano v3.0.1 and sshkit v1.0 are not resolving my issue. The deploy:setup_config task is attempting to call the function smart_template as defined in lib/capistrano/template.rb, and the output indicates that the function cannot be found. I'm at a loss for how to get this working properly. Any advise on addressing the issue is welcome. Also, if a better approach to creating the config and executable files for nginx and unicorn exists I'd love to hear about that.
EDIT
After suspecting that the sshkit gem from rubygems still containing the bug, I added
gem 'sshkit', :git => 'https://github.com/capistrano/sshkit.git'
to my Capfile and rebuilt my local gemset. This didn't address the issue, however, and directed me to look elsewhere. From there I was able to diagnose the issue as being related to the import of the ruby files defined by these lines in my Capfile:
Dir.glob('lib/capistrano/*.rb').each { |r| import r }
Dir.glob('lib/capistrano/**/*.rb').each { |r| import r }
I commented the lines out and replaced them with:
require_relative 'lib/capistrano/template.rb'
require_relative 'lib/capistrano/substitute_strings.rb'
and the functions are now called properly by my deploy:setup_config task. I exported the working gem set and created a new gemset using sshkit from ruby gems. With the require_relative lines listed above, the sshkit gem from rubygems worked fine. So the issue was never with the bug in sshkit, regardless of which source I was using (git or rubygems), but with the imports of the ruby files containing the functions that my cap task was calling.
There are two problems with your example, the correct lines are:
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }
Dir.glob('lib/capistrano/**/*.rb').each { |r| import r }
You can see the complete example here
Per my edit in the original question, the source of the sshkit gem was not my issue.
Rather, the issue was with the import statements.
Changing the lines:
# Loads custom tasks from all folders below `lib/capistrano' if you have any defined.
Dir.glob('lib/capistrano/*.rb').each { |r| import r }
Dir.glob('lib/capistrano/**/*.rb').each { |r| import r }
to:
require_relative 'lib/capistrano/template.rb'
require_relative 'lib/capistrano/substitute_strings.rb'
addressed the issue for me.
I'm not sure why the Dir.glob method didn't work for me, I assume operator error with the expectation that figuring out what I did wrong will be useful for generalizing imports in future cap deployments.
I'm trying to deploy a Rails 3.1 application for the first time on Heroku. I set it to the Cedar stack, removed the sqlite3 gem but when I push the code to Heroku I get this error:
-----> Installing dependencies using Bundler version 1.1.rc
Running: bundle install --without development:test --path vendor/bundle --deployment
Fetching gem metadata from http://rubygems.org/....... (...)
Installing rails (3.1.0)
Installing sqlite3 (1.3.4) with native extensions Unfortunately, a fatal error has occurred. Please report this error to
the Bundler issue tracker at
https://github.com/carlhuda/bundler/issues so that we can fix it.
Thanks!
/usr/local/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native
extension. (Gem::Installer::ExtensionBuildError)
/usr/local/bin/ruby extconf.rb
checking for sqlite3.h... no
I've no idea why bundle install is trying to install sqlite3. Take a look at my Gemfile and Gemfile.lock:
Gemfile
source 'http://rubygems.org'
gem 'rails', '3.1.0'
gem 'json'
gem 'pg'
gem 'thin'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
# gem 'sass-rails', " ~> 3.1.0"
# gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
end
gem 'jquery-rails'
Gemfile.lock
GEM remote: http://rubygems.org/ specs:
actionmailer (3.1.0)
actionpack (= 3.1.0)
mail (~> 2.3.0)
actionpack (3.1.0)
activemodel (= 3.1.0)
activesupport (= 3.1.0)
builder (~> 3.0.0)
erubis (~> 2.7.0)
i18n (~> 0.6)
rack (~> 1.3.2)
rack-cache (~> 1.0.3)
rack-mount (~> 0.8.2)
rack-test (~> 0.6.1)
sprockets (~> 2.0.0)
activemodel (3.1.0)
activesupport (= 3.1.0)
bcrypt-ruby (~> 3.0.0)
builder (~> 3.0.0)
i18n (~> 0.6)
activerecord (3.1.0)
activemodel (= 3.1.0)
activesupport (= 3.1.0)
arel (~> 2.2.1)
tzinfo (~> 0.3.29)
activeresource (3.1.0)
activemodel (= 3.1.0)
activesupport (= 3.1.0)
activesupport (3.1.0)
multi_json (~> 1.0)
arel (2.2.1)
bcrypt-ruby (3.0.1)
builder (3.0.0)
daemons (1.1.4)
erubis (2.7.0)
eventmachine (0.12.10)
execjs (1.2.9)
multi_json (~> 1.0)
hike (1.2.1)
i18n (0.6.0)
jquery-rails (1.0.14)
railties (~> 3.0)
thor (~> 0.14)
json (1.6.1)
mail (2.3.0)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.16)
multi_json (1.0.3)
pg (0.11.0)
polyglot (0.3.2)
rack (1.3.3)
rack-cache (1.0.3)
rack (>= 0.4)
rack-mount (0.8.3)
rack (>= 1.0.0)
rack-ssl (1.3.2)
rack
rack-test (0.6.1)
rack (>= 1.0)
rails (3.1.0)
actionmailer (= 3.1.0)
actionpack (= 3.1.0)
activerecord (= 3.1.0)
activeresource (= 3.1.0)
activesupport (= 3.1.0)
bundler (~> 1.0)
railties (= 3.1.0)
railties (3.1.0)
actionpack (= 3.1.0)
activesupport (= 3.1.0)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.6)
rake (0.9.2)
rdoc (3.9.4)
sprockets (2.0.0)
hike (~> 1.2)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
thin (1.2.11)
daemons (>= 1.0.9)
eventmachine (>= 0.12.6)
rack (>= 1.0.0)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.29)
uglifier (1.0.3)
execjs (>= 0.3.0)
multi_json (>= 1.0.2)
PLATFORMS ruby
DEPENDENCIES jquery-rails json pg rails (= 3.1.0) thin uglifier
How can I fix it?
When I ran into the problem, turns out I'd forgotten to commit my changes after bundle install. Doh! git status should indicate unstaged changes for the gem files.
I has the same problem and zoltarSpeaks' solution fixed it for me. I had the taps gem installed after reading this article that indicated it would be necessary for pushing from a local sqlite3 to production postgresql: http://batsov.com/articles/2011/10/30/deploying-rails31-apps-on-celadon-cedar/. Turned out I didn't need the taps gem after all, but it was clearly the problem. Removed the reference, bundle update, all systems go.
try deleting Gemfile.lock and run Bundle Install, commit and push
Simple solution without uninstalling sqlite3 gem for Heroku:
Add to Gemfile:
group :production do
gem 'pg', '0.17.1' #or version of pg you want
gem 'rails_12factor', '0.0.2' #Heroku static assets for image and css
Check, that you have:
end
end
at the end of code in Gemfile
than Save Gemfile and run bundle install
$ bundle install --without production
than commit
$ git commit -a -m "Update Gemfile.lock for Heroku"
than
$ git push heroku master
That is all. You will get only a few warnings which is simply to fix.