我是 Ruby on Rails 的新手。我在我的 Windows 8 系统和 DevKit 上安装了 Rails 4,并安装了pg (PostgreSQL) gem。
> gem install pg
...
Successfully installed pg-0.16.0-x64-mingw32
我创建了一个新的 Rails 应用程序:
> rails new blog -d postgresql
但是当我启动 Rails 服务器时
> cd blog
> rails server
并导航到localhost:3000
我的浏览器中,我看到了这个错误:
Gem::LoadError
Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile.
我的 Gemfile 包括以下几行:
# Use postgresql as the database for Active Record
gem 'pg'
另外,如果我这样做
bundle install
pg未在输出中列出。
如果我做
require 'pg'
在我得到的 Ruby 控制台中
=> true
这个问题非常相似
Rails 4 postgres 错误 - 无法创建数据库,因为 pg gem“丢失”,但它不是
但在这种情况下,提问者意识到他使用的是旧版本的 pg gem。我有与 一起安装的版本,gem install pg
我认为它是最新的版本。
谁能提供一些故障排除指导?
更新:
从@vinodadhikary 的评论中我试过了bundle update pg
返回
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Using rake (10.1.0)
...
Your bundle is updated!
没有提到pg。
然后我尝试bundle show pg
了,它返回了
Could not find gem 'pg'.
Did you mean pg?
我尝试再次运行服务器,并收到相同的错误。
更新 2
我config\database.yml
根据现有的 postgres 数据库配置了我的文件,例如
development:
adapter: postgresql
encoding: unicode
database: rails_dev
pool: 5
username: postgres
password: [password]
host: localhost
port: 5433
同样用于测试和生产。感谢 Artiwarah Damrongchai 的建议。