代码之家  ›  专栏  ›  技术社区  ›  Meltemi

为什么Rails在我的生产服务器上查找sqlite3?

  •  1
  • Meltemi  · 技术社区  · 14 年前

    我的 database.yml 看起来像这样:

    # SQLite version 3.x
    #   gem install sqlite3-ruby (not necessary on OS X Leopard)
    development:
      adapter: sqlite3
      database: db/development.sqlite3
      pool: 5
      timeout: 5000
    
    test:
      adapter: sqlite3
      database: db/test.sqlite3
      pool: 5
      timeout: 5000
    
    production:
      adapter: mysql2
      encoding: utf8
      reconnect: false
      database: project_production
      pool: 5
      username: root
      password: mypwd
      host: /var/mysql/mysql.sock
    

    项目已加载到生产服务器上,我正在执行:

    server:projectfolder admin$ rake db:schema:load RAILS_ENV=production
    

    然后回来:

    Could not find sqlite3-ruby-1.3.2 in any of the sources
    Try running `bundle install`.
    

    我已经安装了bundle,但不知道为什么它会关心sqlite3的生产????

    仅供参考-我的GemFile有:

    group :development, :test do
      gem 'sqlite3-ruby', :require => 'sqlite3'
    end
    

    有人能帮我看看我搞砸了什么吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Fábio Batista Raza Ahmed    14 年前

    假设你 sqlite3-ruby gem已经成为一个不包括 :production ,您只需运行:

    env RAILS_ENV=production bundle install --without development test
    

    这将创建一个 .bundle 目录,指示Ruby不加载任何未设置为的gem 生产 .

        2
  •  0
  •   Kevin Sylvestre    14 年前

    试运行:

    export RAILS_ENV='production'
    rake ...