【问题标题】:"no such file to load -- pg" when trying rake db:create尝试 rake db:create 时“没有要加载的文件--pg”
【发布时间】:2011-06-01 16:31:27
【问题描述】:

我的问题的症状很简单:

$ 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 installgem 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

【问题讨论】:

    标签: ruby-on-rails ruby postgresql gem


    【解决方案1】:

    转到控制台并在下面输入:

    vim Gemfile
    

    文件内推荐如下:

    - #gem 'sqlite3-ruby', :require => 'sqlite3'
    

    在文件中添加以下内容:

    - gem 'pg', :require => 'pg'
    

    问题解决了!!! :-) 享受吧!

    【讨论】:

      【解决方案2】:

      我想通了。如果我在我的config/database.yml 中使用pg 而不是postgresql,它可以工作。

      【讨论】:

        【解决方案3】:

        一种可能是您正在运行的 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​​ 版本,那么这不是答案!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-23
          相关资源
          最近更新 更多