相关 文章:
1.//09/06/how-to-setup-ruby-and-oracle-instant-client-on-snow-leopard 雪豹系统上安装
2./questions/764887/how-to-configure-ruby-on-rails-with-oracle
安装 rvm
curl -L get.rvm.io | bash -s stable
给 ~/.bashrc (Linux) 或 ~/.bash_profile (Mac 环境) 加上脚本引用,执行下面这行(注意修改文件名):
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.' >> ~/.bashrc
然后,重新载入那个文件
# 如果是 Mac$ source ~/.bash_profile# 如果是 Linux $ source ~/.bashrc
检查一下是否安装正确
$ rvm -vrvm 1.9.2 by Wayne E. Seguin (wayneeseguin@) [/]
总的来说 要注意一下几点 :
1. 通过 rvm 来安装 ruby 需要指定 i38的 32位软件,不能用 64位的,否则无法使用 orci8
CONFIGURE_OPTS="--with-arch=i386" CFLAGS="-arch i386" LDFLAGS="-arch i386" rvm pkg install libyaml
rvm install ruby -n i386 -C --with-arch=i386
2. 下载 32位的 oracle instant client for mac 。不能用 64位的。
3. 相关 oracle instant client 的设置见 上面的相关文章
4. 如果按照了多个版本的ruby .用如下 命令查看和设置缺省版本
rvm list
rvm --default use ruby-1.9.3-p194-i386
5. 用ruby -v 来查看版本,确定是 32位的
6.安装oci8
sudo env DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH ARCHFLAGS="i386" gem install ruby-oci8
7. 测试数据库连接的语句
ruby -rubygems -e "require 'oci8'; OCI8.new('scott','tiger','longcom').exec('select * from dual') do |r| puts r.join(','); end"
8. 如果出现以下warning
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
解决办法(一定要加上 i386 的参数)
CONFIGURE_OPTS="--with-arch=i386" CFLAGS="-arch i386" LDFLAGS="-arch i386" rvm pkg install libyaml
rvm reinstall
ruby-1.9.3-p194-i386 -n i386 --with-arch=i386