Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails在使用PostgreSQL时出错_Ruby On Rails_Ruby_Postgresql_Heroku_Sqlite - Fatal编程技术网

Ruby on rails Rails在使用PostgreSQL时出错

Ruby on rails Rails在使用PostgreSQL时出错,ruby-on-rails,ruby,postgresql,heroku,sqlite,Ruby On Rails,Ruby,Postgresql,Heroku,Sqlite,我正在尝试在我的Rails应用程序中使用PostgreSQL而不是SQLite3,因为我想在Heroku部署应用程序,所以PostgreSQL是必需的。使用Postgres标志启动我的应用程序(即,--database=postgresql)可以正常工作。但是,在将gemtwitterboostrap rails添加到我的Gemfile并运行bundle install之后,我得到了关于SQLite3的以下错误: rescue in spec”:为数据库适配器指定了“sqlite3”,但 gem

我正在尝试在我的Rails应用程序中使用PostgreSQL而不是SQLite3,因为我想在Heroku部署应用程序,所以PostgreSQL是必需的。使用Postgres标志启动我的应用程序(即,
--database=postgresql
)可以正常工作。但是,在将
gemtwitterboostrap rails
添加到我的
Gemfile
并运行
bundle install
之后,我得到了关于SQLite3的以下错误:

rescue in spec”:为数据库适配器指定了“sqlite3”,但
gem没有加载。将gem'sqlite3'添加到您的gem文件中(并确保
版本为ActiveRecord所需的最低版本)

这是我的
Gemfile

source 'https://rubygems.org'

gem "therubyracer"
gem "less-rails"
gem "twitter-bootstrap-rails"


# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.1.4'
# Use postgresql as the database for Active Record
gem 'pg'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.3'
# 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.              
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

# Spring speeds up development by keeping your application running in the background.   
gem 'spring',        group: :development

# 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]

gem 'rails_12factor', group: :production>
这是我的
数据库。yml

----------


# PostgreSQL. Versions 8.2 and up are supported.
#
# Install the pg driver:
#   gem install pg
# On OS X with Homebrew:
#   gem install pg -- --with-pg-config=/usr/local/bin/pg_config
# On OS X with MacPorts:
#   gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config
# On Windows:
#   gem install pg
#       Choose the win32 build.
#       Install PostgreSQL and put its /bin directory on your path.
#
# Configure Using Gemfile
# gem 'pg'
#
default: &default
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: 5

development:
  <<: *default
----------
#PostgreSQL。支持8.2及以上版本。
#
#安装pg驱动程序:
#gem安装页面
#在使用自制软件的OS X上:
#gem安装pg----使用pg config=/usr/local/bin/pg_config
#在带有MacPorts的OS X上:
#gem安装pg--with pg config=/opt/local/lib/postgresql84/bin/pg_-config
#在Windows上:
#gem安装页面
#选择win32版本。
#安装PostgreSQL并将其/bin目录放在您的路径上。
#
#使用Gemfile配置
#宝石“pg”
#
默认值:&默认值
适配器:postgresql
编码:unicode
#有关连接池的详细信息,请参阅rails配置指南
# http://guides.rubyonrails.org/configuring.html#database-汇集
游泳池:5
发展:

尝试运行
bundle update
,然后运行
bundle exec rails
-您还需要在数据库中指定更多参数。yml与主机类似,等等。应如下所示:

development:
  adapter: postgresql
  encoding: unicode
  database: some_database_name
  pool: 5
  host: localhost
  username: your_username (or root) if just dev
  password: your_password

请记住,由于这是所有的开发,用户名/pw的安全性实际上并不重要,因为它不包含任何重要数据/无法在您的计算机外部访问

请尝试运行
bundle update
,然后运行
bundle exec rails
-您还需要在数据库中指定更多参数。yml与主机一样,等等,应该是这样的:

development:
  adapter: postgresql
  encoding: unicode
  database: some_database_name
  pool: 5
  host: localhost
  username: your_username (or root) if just dev
  password: your_password

请记住,由于这都是开发人员的工作,用户名/pw的安全性实际上并不重要,因为它不包含任何重要数据/无法在您的计算机外部访问

请尝试显式地设置开发数据库配置。看起来database.yml没有正确对齐

development:
  adapter: postgresql
  encoding: utf8
  database: your_db
  host: 127.0.0.1
  pool: 5
  username: your_db_username
  password: your_db_password

尝试显式地设置开发的数据库配置。看起来database.yml没有正确对齐

development:
  adapter: postgresql
  encoding: utf8
  database: your_db
  host: 127.0.0.1
  pool: 5
  username: your_db_username
  password: your_db_password


在我执行“rails g bootstrap:install”之前,每件事都是有效的,我再次收到sqlite3错误
bundle exec rails g bootstrap:install
正常,但为什么呢??现在,当我做rake db:create db:migrated时,我得到了“user not exist”(用户不存在),请阅读下面的答案了解其工作原理:)至于您的另一个错误,可能是因为您的数据库用户名/密码组合错误。检查您如何安装postgresql并为其创建用户it@user1020372你还对此有意见吗?我们可以结束这个问题吗?:)在我执行“rails g bootstrap:install”之前,每件事都是有效的,我再次收到sqlite3错误
bundle exec rails g bootstrap:install
正常,但为什么呢??现在,当我做rake db:create db:migrated时,我得到了“user not exist”(用户不存在),请阅读下面的答案了解其工作原理:)至于您的另一个错误,可能是因为您的数据库用户名/密码组合错误。检查您如何安装postgresql并为其创建用户it@user1020372你还对此有意见吗?我们可以结束这个问题吗?:)你能告诉我你想用哪一个适配器吗?在gem文件中,我看到它是
pg
,但您告诉我您得到了sqlite 3I的错误,我想使用postgresql,由于这是在Heroku上托管所必需的,请检查您的
Gemfile.lock
可能它依赖于您安装的一个gem没有在我的Gemfile.lock中列出sqlite3。能否请您为我清除一件您要使用的适配器?在gem文件中,我看到它是
pg
,但您告诉过您sqlite出现错误,我想使用postgresql,因为这是在Heroku上托管所必需的检查您的
Gemfile.lock
可能是您安装的gem之一的依赖项没有在我的Gemfile.lock中列出sqlite3