0
我得到了我的Rails 4應用程序運行在我的本地機器上,並在此刻heroku。現在我試圖建立一個ubutunu 14服務器。對於部署,我正在使用capistrano,並且已經設置了本地計算機和服務器之間的連接。目前,我試圖做最初的部署使用此命令:Postgres的寶石沒有加載在初始Rails 4應用程序部署
cap production deploy:initial
我獲得以下在某一點錯誤:
Running ~/.rvm/bin/rvm default do bundle exec rake assets:precompile on MYIP
DEBUG Command: cd /home/deploy/apps/savoir/releases/20160209113448 && (export RAILS_ENV="production" ; ~/.rvm/bin/rvm default do bundle exec rake assets:precompile)
DEBUG rake aborted!
DEBUG Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
我的Gemfile看起來是這樣的:
source 'http://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.8'
# Use sqlite3 as the database for Active Record
# gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0.1'
# 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'
# See https://github.com/sstephenson/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
# Use debugger
# gem 'debugger', group: [:development, :test]
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin]
gem 'bootstrap-sass', '~> 3.3.5.1'
gem 'autoprefixer-rails'
gem 'bootstrap-sass-extras'
gem 'bootstrap-daterangepicker-rails'
gem 'bootstrap-datepicker-rails'
gem 'simple_form'
gem 'nested_form'
gem 'ckeditor'
gem 'coffee-script-source', '1.8.0'
gem 'carrierwave', github:'carrierwaveuploader/carrierwave'
gem 'carrierwave-crop'
gem 'rmagick'
gem 'mini_magick'
gem 'momentjs-rails'
gem 'gon'
gem 'jquery-ui-rails'
gem 'jquery-fileupload-rails'
gem 'jquery-turbolinks'
gem 'jquery-validation-rails'
gem 'devise'
gem 'ransack'
gem 'will_paginate'
gem 'rails_12factor'
gem 'pg', '~> 0.18.3'
gem 'geocoder'
gem 'gmaps4rails'
gem 'underscore-rails'
group :development do
gem 'capistrano', require: false
gem 'capistrano-rvm', require: false
gem 'capistrano-rails', require: false
gem 'capistrano-bundler', require: false
gem 'capistrano3-puma', require: false
end
gem 'puma'
而且我的database.yml:
development:
adapter: postgresql
database: savoir_development
pool: 5
username: postgres
password: root
test:
adapter: postgresql
database: savoir_test
pool: 5
timeout: 5000
username: postgres
password: root
production:
adapter: postgresql
database: deploy
pool: 5
timeout: 5000
username: USER
password: PASSWORD
所以據我所見,gemfile和database.yml應該沒問題。任何人都可以找到我犯的錯誤嗎?我發現一些其他線程可以解決這個問題,但他們對我的案例沒有幫助。
你已經在gem文件中有sqlite3和pg,我想你需要在gemfile,gem'pg',group :::production中爲生產環境添加pg gem,然後對於sqlite 3,gem'sqlite3' ,組::[:development,:test],或者如果你沒有使用,就完全刪除sqlite3。 –
感謝您的回答。儘管sqlite3 gem被註釋掉了。 – Syk
它在gemlock文件中? –