我有两个用Rails创建的应用程序,“旧的”和新的

    $ rails new blog -d postgresql

当我尝试启动服务器时,它可以在“旧”应用程序上正常运行:

    $ rails s -p 2000
    => Booting WEBrick
    => Rails 3.2.8 application starting in development on http://0.0.0.0:2000
    => Call with -d to detach
    => Ctrl-C to shutdown server
    [2012-09-17 16:28:48] INFO  WEBrick 1.3.1
    [2012-09-17 16:28:48] INFO  ruby 1.9.3 (2012-04-20) [x86_64-linux]
    [2012-09-17 16:28:48] INFO  WEBrick::HTTPServer#start: pid=9377 port=2000

但对于“新”应用程序失败:/

    $ rails s -p 2000
    /usr/local/share/gems/gems/pg-0.14.1/lib/pg.rb:4:in `require': cannot load such file -- pg_ext (LoadError)
    from /usr/local/share/gems/gems/pg-0.14.1/lib/pg.rb:4:in `<top (required)>'
    from /usr/local/share/gems/gems/bundler-1.1.5/lib/bundler/runtime.rb:68:in `require'
    from /usr/local/share/gems/gems/bundler-1.1.5/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from /usr/local/share/gems/gems/bundler-1.1.5/lib/bundler/runtime.rb:66:in `each'
    from /usr/local/share/gems/gems/bundler-1.1.5/lib/bundler/runtime.rb:66:in `block in require'
    from /usr/local/share/gems/gems/bundler-1.1.5/lib/bundler/runtime.rb:55:in `each'
    from /usr/local/share/gems/gems/bundler-1.1.5/lib/bundler/runtime.rb:55:in `require'
    from /usr/local/share/gems/gems/bundler-1.1.5/lib/bundler.rb:119:in `require'
    from /home/alex/tmp/RoR/blog/config/application.rb:7:in `<top (required)>'
    from /usr/local/share/gems/gems/railties-3.2.8/lib/rails/commands.rb:53:in `require'
    from /usr/local/share/gems/gems/railties-3.2.8/lib/rails/commands.rb:53:in `block in <top (required)>'
    from /usr/local/share/gems/gems/railties-3.2.8/lib/rails/commands.rb:50:in `tap'
    from /usr/local/share/gems/gems/railties-3.2.8/lib/rails/commands.rb:50:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

如果我将pg_ext.so复制或符号链接到模块路径,则可以修复:

    # ln -s /usr/local/share/gems/gems/pg-0.14.1/ext/pg_ext.so /usr/local/share/gems/gems/pg-0.14.1/lib

或者我可以直接将要求添加到boot.rb中:

    require 'rubygems'
    require 'pg'

但这不是可接受的解决方案,我想知道为什么它适用于第一个应用程序,为什么它不适用于新应用程序? 我花了一整天比较配置文件,但没有成功。

#1楼 票数:1

升级到Fedora 18后,我遇到了同样的问题。

pg_ext是在运行gem update时构建的。

前提条件是必须安装postgresql-devel。

  ask by alex.iz translate from so

未解决问题?本站智能推荐:

1回复

Fullcalendar Rails 3.2-PG :: Error

我为Rails 3.2为我的应用程序尝试fullcalendar,并为dbms使用postgresql。 到这一点, 在模型event.rb上 对于starts_at和ends_at,我正在使用日期类型(而不是日期时间) 在events.js.coffee上 在控制
1回复

破碎的Rails设置/ PG宝石

UGH ...我在OS X Yosemite下破坏了(以前运行的)Rails设置。 我是使用Homebrew来更新我的Git版本的。 将Git放到我想要的位置后,运行“ rails c”会出现以下错误: 看到对pg_ext的引用,我试图验证我的postgresql安装片段。 如果我
3回复

pg_dump版本在Rails中不匹配

运行rake db:structure:dump命令时,遇到以下错误: 我该如何更新pg_dump? 我已经安装了pg 9.1.3,有没有办法将Rails内部的引用更新为新版本? 当我尝试通过自制软件更新postgres时,得到以下输出:
1回复

在Rails 3.2中修改Postgres JSON字段时出错

我正在尝试在我的Rails 3.2应用程序中使用JSON(Postgres 9.3,而不是JSONB)字段类型。 我已经使用以下迁移创建了该字段而没有任何问题: 但是,当我试图像这样修改字段时: 我收到以下错误: 我甚至不确定Rails 3.2中是否支持JSON类型
3回复

Rails 3.2频繁postgres准备语句已经存在错误

我一直在挖堆stackoverflow试图找到其他谁得到这些准备好的语句已存在错误。 在大多数情况下,使用after / before fork正确配置unicorn可以解决这些问题。 但是在我的情况下,我们仍然会遇到错误: 这个错误在我们的应用程序的不同区域被抛出但似乎总是
1回复

在rails 3.2中默认使用postgresql并避免testunit的方法?

每次我开始新的rails应用程序时,我都厌倦了输入$ rails new [app name] -d postgresql --skip-test-unit 。 我正在使用rails 3.2。 有没有办法使用postresql和跳过测试单元我的新rails应用程序的默认值?
1回复

Rails 3.2设计Omniauth-facebook和考拉

我正在尝试将考拉集成到一个设计omniauth-facebook应用程序。 出于某种原因,我无法发布到用户的墙上。 我创建了第二个应用程序,它不使用设计和所有工作,我意识到唯一的区别是oauth_expires_at我在保存facebook返回的oauth_expires_at时遇到问题。
1回复

如何在Rails 3.2中应用自动增量

我当时正在用红宝石进行购物清单项目。 在创建名为产品的表时,错误地从表产品的id字段中删除了autoincrement选项。 谁能告诉我,如何通过迁移在表中重新插入autoincrement选项。 我的产品表如下:- 我的产品表引用了我的shopping_list表。