修改源码自己编译安装ruby-oci8

上次分享了在MAC OXS EI Capitan上安装 ruby-oci8的过程,虽然我安装成功了,但是这仅限于安装2.0以上版本的ruby-oci8,如果是低版本的话,由于使用的还是DYLD_LIBRARY_PATH这个变量,因此依然无法安装,但是项目中又必须要使用旧版本的。
那我只好放大招了--自己修改ruby-oci8的源码,编译安装,这样应该可以搞定了。

首先我们先下载ruby-oci8的源码

git clone https://github.com/kubo/ruby-oci8.git

从tag创建一个分支

源码里面各个版本都有设置一个tag,所以我们只要找到我们要的那个版本然后创建一个分支就可以了
例如:

git checkout -b my/ruby-oci8-2.1.5 ruby-oci8-2.1.5

修改源码

接下来我们就找到DYLD_LIBRARY_PATH这个变量,改为我们需要的就可以了,这里改为跟后面版本一致的OCI_DIR
最终我在 ext/oci8/oraconf.rb 里面找到了DYLD_LIBRARY_PATH,将它改为 OCI_DIR
我们也可以在这个文件里面看到其他平台的一些配置。

编译为gem

到项目根目录下执行 gem build ruby-oci8.gemspec就会在项目根目录下生成我们要的gem文件

安装我们编译的gem

然后到项目根目录下安装我们的gem

gem install ruby-oci8-2.1.5.gem -l

总结:还是开源的项目好,哪里不好用自己动手丰衣足食。

你可能感兴趣的:(修改源码自己编译安装ruby-oci8)