在os x上使用pg gem和ruby

时间:2014-05-24 18:01:55

标签: ruby macos postgresql osx-mavericks

我正在尝试创建一个连接到远程postgresql服务器的脚本。我正在使用mavericks os x,在我的本地计算机上安装了postgresql和ruby,但是当我尝试将pg加载到这样的脚本中时:

#!/usr/bin/ruby
require 'tk'
require 'tkextlib/tile'
require 'rubygems'
require 'pg'

我收到以下错误:

/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- pg (LoadError)
from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from submit.rb:5:in `<main>'

我已经安装了os x命令行工具并运行了以下命令:

sudo gem install pg
sudo PATH=$PATH:/Library/PostgreSQL/9.0/bin/ gem install pg
sudo ARCHFLAGS="-arch x86_64" gem install pg

它似乎安装正确,但它仍然无法找到pg功能。我用brew安装了postgresql。我的ruby版本是2.0.0,psql是9.3.4。

1 个答案:

答案 0 :(得分:1)

看起来您的解释器正在运行Ruby 2.0。您的gem安装程序可能是2.0之前的版本,并将您的宝石安装到非2.0位置。您可以通过运行验证

gem -v

如果是这种情况,请检查您的系统是否有gem2.0二进制文件,您可以这样使用:

sudo gem2.0 install pg