Ruby on rails 尝试rake db:create时“没有要加载的文件--pg”

Ruby on rails 尝试rake db:create时“没有要加载的文件--pg”,ruby-on-rails,ruby,postgresql,gem,Ruby On Rails,Ruby,Postgresql,Gem,我的问题的症状很简单: $ rake db:create (in /home/jason/projects/blog) rake aborted! no such file to load -- pg (See full trace by running task with --trace) 我已经成功地运行了bundle安装和gem安装pg,所以我不知道我还需要做什么 下面是我的`config/database.yml,如果有帮助的话: # SQLite version 3.x # g

我的问题的症状很简单:

$ rake db:create
(in /home/jason/projects/blog)
rake aborted!
no such file to load -- pg

(See full trace by running task with --trace)
我已经成功地运行了bundle安装和gem安装pg,所以我不知道我还需要做什么

下面是我的`config/database.yml,如果有帮助的话:

# SQLite version 3.x
#   gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
  adapter: postgresql
  encoding: unicode
  database: blog_development
  pool: 5
  username: blog
  password: foo

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: postgresql
  encoding: unicode
  database: blog_development
  pool: 5
  username: blog
  password: foo

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

一种可能性是,您运行的rake二进制文件来自另一个ruby/gem环境,并且它无法访问您安装的gem

如果您安装了多个版本的ruby,请尝试运行哪个gem,然后运行哪个rake,看看它们是否从同一个bin目录运行。例如,在我的机器上,两个二进制文件都是从同一Ruby安装下的bin目录执行的:

/Users/scott/.rvm/rubies/ruby-1.9.2-p136/bin/gem

/Users/scott/.rvm/gems/ruby-1.9.2-p136/bin/rake

如果您的系统上只安装了一个ruby版本,那么这不是答案

我明白了。如果我在config/database.yml中使用pg而不是postgresql,它会工作。

转到控制台并键入以下内容:

vim Gemfile
在文件中,请输入以下内容:

- #gem 'sqlite3-ruby', :require => 'sqlite3'
- gem 'pg', :require => 'pg'
在文件中添加以下内容:

- #gem 'sqlite3-ruby', :require => 'sqlite3'
- gem 'pg', :require => 'pg'
问题解决了!!!:-享受吧