CentOS 7, nginx+unicorn+god+mariadb. I'm trying to install plugins, but unable to do it. Creating tmp/restart.txt didnot helped and restarting nginx too. Any other ideas why? Please help.
Environment:
Redmine version 2.6.1.stable
Ruby version 2.0.0-p598 (2014-11-13) [x86_64-linux]
Rails version 3.2.21
Environment production
Database adapter Mysql2
Gems:
actionmailer (3.2.21)
actionpack (3.2.21)
activemodel (3.2.21)
activerecord (3.2.21)
activeresource (3.2.21)
activesupport (3.2.21)
arel (3.0.3)
builder (3.0.4)
bundler (1.13.1)
coderay (1.1.1)
erubis (2.7.0)
hike (1.2.3)
htmlentities (4.3.1)
i18n (0.6.11)
journey (1.0.4)
jquery-rails (3.1.4)
json (1.8.3)
kgio (2.10.0)
mail (2.5.4)
mime-types (1.25.1)
multi_json (1.12.1)
mysql2 (0.3.21)
net-ldap (0.3.1)
polyglot (0.3.5)
rack (1.4.7)
rack-cache (1.6.1)
rack-openid (1.4.2)
rack-ssl (1.3.4)
rack-test (0.6.3)
rails (3.2.21)
railties (3.2.21)
raindrops (0.17.0)
rake (11.3.0)
rbpdf (1.18.7)
rdoc (3.12.2)
redcarpet (2.3.0)
request_store (1.0.5)
rmagick (2.16.0)
ruby-openid (2.3.0)
sprockets (2.2.3)
thor (0.19.1)
tilt (1.4.1)
treetop (1.4.15)
tzinfo (0.3.51)
unicorn (5.1.0)
Creating a tmp/restart.txt does not apply to Unicorn server, it applies to PhusionPassenger, which checks for timestamp of restart.txt file, and if timestamp differs from the one it checked during it's startup, a restart of PhusionPassenger's application is applied, see its documentation here.
To properly install Redmine plugins, you need to follow each plugin's installation tutorial, and apply server restart, in case of unicorn, you can see this StackOverflow answer, once you have restarted Unicorn, then
Login to Redmine as administrator
Navigate to Administration | Plugins
Configure plugin if necessary
Sometimes to be used, plugins needs to be enabled on per-project basis. To enable/disable plugins,
navigate to your project | Settings | Modules and there you will be able to enable/disable plugins on per-project basisi.
Related
I've looked through many solutions but still can't find the solution to my problem. I'm using Rails 5.0.0.1, running on Windows OS. I've done bundle install and restarted the server, as well as downgrading the sass-rails but I can't seem to fix the issue.
The gems I needed for this:
bootstrap-sass <3.3.7>
sass-rails <5.0.6, 3.2.0>
In my application.scss file:
#import "bootstrap-sprockets";
#import "bootstrap";
In my application.js file:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= bootstrap-sprockets
//= require_tree .
The error page
Please help! Thanks!
EDIT
Here is my Gem list:
(It didn't use to have two versions but I think I might have messed it up some how when I downgraded sass-rails and then installed the autoprefixer-rails gem for a different solution I found.)
* LOCAL GEMS *
actioncable (5.0.0.1)
actionmailer (5.0.0.1, 4.2.6)
actionpack (5.0.0.1, 4.2.6, 3.2.
actionview (5.0.0.1, 4.2.6)
activejob (5.0.0.1, 4.2.6)
activemodel (5.0.0.1, 4.2.6, 3.2
activerecord (5.0.0.1, 4.2.6)
activesupport (5.0.0.1, 4.2.6, 3
arel (7.1.2, 7.1.1, 6.0.3)
autoprefixer-rails (6.5.3)
bigdecimal (default: 1.2.6)
binding_of_caller (0.7.2)
bootstrap-sass (3.3.7)
builder (3.2.2, 3.0.4)
bundler (1.13.6, 1.12.5)
byebug (9.0.5)
coffee-rails (4.2.1, 4.1.1)
coffee-script (2.4.1)
coffee-script-source (1.10.0)
concurrent-ruby (1.0.2)
debug_inspector (0.0.2)
erubis (2.7.0)
execjs (2.7.0)
gem-path (0.6.1)
globalid (0.3.7)
hike (1.2.3)
i18n (0.7.0)
io-console (default: 0.4.3)
jbuilder (2.6.0)
journey (1.0.4)
jquery-rails (4.2.1)
json (1.8.3, default: 1.8.1)
loofah (2.0.3)
mail (2.6.4)
method_source (0.8.2)
mime-types (3.1)
mime-types-data (3.2016.0521)
mini_portile2 (2.1.0)
minitest (5.9.0, 5.4.3)
multi_json (1.12.1)
nio4r (1.2.1)
nokogiri (1.6.8 x64-mingw32)
pkg-config (1.1.7)
power_assert (0.2.2)
psych (default: 2.0.8)
puma (3.6.0)
rack (2.0.1, 1.6.4, 1.4.7)
rack-cache (1.6.1)
rack-ssl (1.3.4)
rack-test (0.6.3)
rails (5.0.0.1, 4.2.6)
rails-deprecated_sanitizer (1.0.
rails-dom-testing (2.0.1, 1.0.7)
rails-html-sanitizer (1.0.3)
railties (5.0.0.1, 4.2.6, 3.2.22
rake (11.2.2, default: 10.4.2)
rdoc (4.2.2, default: 4.2.0, 3.1
rubygems-update (2.6.8)
sass (3.4.22, 3.1.21)
sass-rails (5.0.6, 3.2.0)
sdoc (0.4.1)
spring (1.7.2)
sprockets (3.7.0, 2.2.3)
sprockets-rails (3.2.0)
sqlite3 (1.3.11 x64-mingw32)
test-unit (3.0.8)
thor (0.19.1)
thread_safe (0.3.5)
tilt (2.0.5, 1.4.1)
turbolinks (5.0.1)
turbolinks-source (5.0.0)
tzinfo (1.2.2)
tzinfo-data (1.2016.6)
uglifier (3.0.2)
web-console (3.3.1, 2.3.0)
websocket-driver (0.6.4)
websocket-extensions (0.1.2)
After adding #import "bootstrap-sprockets"; #import "bootstrap"; in your application.scss file, remove all the *= require_self and *= require_tree . statements from the sass file.
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 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?
New to RoR and taking the One Month Rails class (onemonthrails.com)
I'm trying to import bootstrap.
ruby 2.0.0p247
rails 4.0.0
Here's my Gemfile (showing only the 'bootstrap-sass'line) :
Bootstrap Gem
gem 'bootstrap-sass', '~> 2.2.2.0'
And this is the output when running 'bundle install'
Diegos-Air-2:omrails Diego$ bundle install
Fetching gem metadata from '...rubygems.org/..........'
Fetching gem metadata from '...rubygems.org/..'
Resolving dependencies...
Enter your password to install the bundled RubyGems to your system:
Using rake (10.1.0)
Using i18n (0.6.4)
Using minitest (4.7.5)
Using multi_json (1.7.8)
Using atomic (1.1.12)
Using thread_safe (0.1.2)
Using tzinfo (0.3.37)
Using activesupport (4.0.0)
Using builder (3.1.4)
Using erubis (2.7.0)
Using rack (1.5.2)
Using rack-test (0.6.2)
Using actionpack (4.0.0)
Using mime-types (1.23)
Using polyglot (0.3.3)
Using treetop (1.4.14)
Using mail (2.5.4)
Using actionmailer (4.0.0)
Using activemodel (4.0.0)
Using activerecord-deprecated_finders (1.0.3)
Using arel (4.0.0)
Using activerecord (4.0.0)
Using sass (3.2.10)
Installing bootstrap-sass (2.2.2.0)
Errno::EACCES: Permission denied - /Users/Diego/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper
An error occurred while installing bootstrap-sass (2.2.2.0), and Bundler cannot continue.
Make sure that `gem install bootstrap-sass -v '2.2.2.0'` succeeds before bundling.
My GitHub link: github.com/dschmunis/omrails
Thanks for the help!
Diego
I've heard of some weird permission bugs right around this version
You could try installing directly into command line
gem install bootstrap-sass -v 2.2.2.0
and then run bundle install
Worst case scenario you should still be able to run sudo gem install bootstrap-sass -v 2.2.2.0
But you should be very careful with sudo. It can leave you open to system vulnerabilities and it can lead to some weird problems down the road with gems being installed all over the place. Long story short, don't use sudo carelessly.
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.