このエントリーをはてなブックマークに追加
スポンサーリンク

2016年1月24日 ruby-gemを使ってみるテスト

RubyにPostgreSQLのモジュールみたいなもんをインストールしたいのだが、どうもいくら検索してもgemで入れる方法しか書いてない。

これだと、仕事中に向こうのサーバー(gemのサーバー)がダウンしてると作業ができなくなるので、深夜作業してると困るんだけどな。Perlの時さんざんCPANのサーバーダウン(もしくは混雑)でインストール作業が進まずエンドユーザーに無茶苦茶怒られたりして・・・。こっちのせいじゃないのに怒られるのは不本意だが、サーバー管理者にはよくある話さ。

ってことで、Perlに関してはCPANに頼らず自分であらかじめ.tar.gzをダウンしておいてFTPでアップロードして入れるだけど、Rubyに関しては情報が少ないんだからしゃーない。

gem install pg

すると、requireでgemというライブラリはないというエラー。ああ、そうか、2.3から1.8にバージョンダウンしたせいで、2.3のgemコマンドだけ残ってるけど、インクルードファイルは1.8のままなんでエラーなのか・・・。

というわけで、gemだけ再インストール
wgetしたかったんだけどURLがわからなかったので仕方なくWindows機でダウンしてFTPでアップロードした。
tar xvzf rubygems-2.5.1.tar
cd rubygems-2.5.1
ruby setup.rb

gem -v
2.5.1
今度はできた。じゃあpgを入れてみる
gem install pg
--------------------------------------------
ERROR: Error installing pg:
pg requires Ruby version >= 1.9.3.
--------------------------------------------
今度はRubyのバージョンが古いときた。困った。
じゃあ、また2.3に戻す。

cd ruby-2.3.0
make install
gem install pg
/usr/bin/ruby: symbol lookup error: /usr/lib/ruby/2.3.0/x86_64-linux/openssl.so: undefined symbol: SSL_CTX_clear_options

やっぱダメね。opensslのバージョンが古いみたい。じゃあ、また1.8に戻す。しゃーない。
cd ../ruby-1.8.7
make install

まったく。/usr/bin/rubyを何回上書きすりゃいんだか

gem install pg
--------------------------------------------
ERROR: Error installing pg:
pg requires Ruby version >= 1.9.3.
--------------------------------------------

結局、新しいバージョンだと、openssl関係でエラー、古いバージョンだとバージョンが古いと怒られてしまうという無限ループに陥ってしまったわけね。

でも昨日DBIをインストールできたので、しばらくこれでいく。

とりあえずコネクトしてみるテスト。
==========================================================
#!/usr/bin/ruby
# encoding: euc-jp
require 'dbi'

dbh = DBI.connect("dbi:pg:(ナイショ):localhost", "(ナイショ)", "(ナイショ)")
dbh.disconnect
==========================================================
ここで(ナイショ)は公開できないので(ナイショ)とした。本当に(ナイショ)って書いて「動かねーぞゴルア!」とか言うのはナシね。

ここを参考にしました。
http://www.jiubao.org/ruby-dbi/ruby-dbi.html


 △先頭へ  コメント(0)  トラックバック(0)  拍手(0)

スポンサーリンク