我的问题的症状非常简单:
$ 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 install
和gem install 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
答案 0 :(得分:4)
我明白了。如果我在pg
中使用postgresql
代替config/database.yml
,则可以。
答案 1 :(得分:1)
转到控制台并在下面输入:
vim Gemfile
文件内部推荐如下:
- #gem 'sqlite3-ruby', :require => 'sqlite3'
在文件内添加以下内容:
- gem 'pg', :require => 'pg'
问题解决了!!! :-)享受!
答案 2 :(得分:0)
一种可能性是您运行的rake二进制文件来自另一个ruby / gem环境,并且它无法访问您已安装的gem。
如果您安装了多个版本的ruby,请尝试运行which gem
然后which 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版本,那么这不是答案!