AMIのruby環境はあまりパッケージがインストールされていないので、mechanizeのインストールにつまずくことがある。
なので、ここに一連の手順を残しておく。
rubyバージョン ruby 2.0.0p481
1.yum install ruby-devel
2.yum install gcc-c++.noarch
3.yum install libxslt-devel.x86_64
4.yum install patch.x86_64
以下のような nokogoriやmechanizeをインストールするときに
以下のようなメッセージが出で失敗する事があるので
必ずインストールする。
patch.logを見ると、パッチコマンドが見つからないという趣旨のエラーが出力されている。
Running 'patch' for libxml2 2.9.2... ERROR, review '/home/ec2-user/.gem/ruby /2.0/gems/nokogiri-1.6.4.1/ext/nokogiri/tmp/x86_64-redhat-linux-gnu/ports /libxml2/2.9.2/patch.log' to see what happened.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
5.gem install nokogiri
6.gem install mechanize
以上
2014年11月26日水曜日
2013年12月19日木曜日
[Ruby]Zaim API V2に対応した認証用ライブラリを作ってみた
家計簿ソフトZaim(https://zaim.net)が提供するWebAPIの認証部分を
omniauthを参考に作ってみた。
ソースコードは以下のサイトにアップロード。
https://github.com/maar4569/omniauth-zaimv2
参考にしたのは以下のライブラリ。(v1用のライブラリ。)
mururuさんありがとうございます。
https://github.com/mururu/omniauth-zaim
以前Google Apps ScriptからZaim APIをたたこうとして失敗し涙したが、
今回は成功。
Railsに組み込む場合、コールバック用のコントローラに
以下のような記述をしておくと、verify APIのレスポンスが得られる。
#サンプル
def callback
auth = request.env['omniauth.auth']
@user_id = auth.info.id
@name = auth.info.name
@input_count = auth.info.input_count
@day_count = auth.info.day_count
@repeat_count = auth.info.repeat_count
@day = auth.info.day
@week = auth.info.week
@currency_code = auth.info.currency_code"
end
また、カテゴリに関する情報を取得する場合は以下のコードで取得できる。
api_url = auth.extra.access_token.consumer.options[:site] + "/v2/home/category"
raw_info = MultiJson.load(auth.extra.access_token.get(api_url).body)['categories']
p "categries => #{raw_info}"
ジャンルなども基本的には同じ要領で取得する。
Zaimの情報を分析して家計を助けるぞー
omniauthを参考に作ってみた。
ソースコードは以下のサイトにアップロード。
https://github.com/maar4569/omniauth-zaimv2
参考にしたのは以下のライブラリ。(v1用のライブラリ。)
mururuさんありがとうございます。
https://github.com/mururu/omniauth-zaim
以前Google Apps ScriptからZaim APIをたたこうとして失敗し涙したが、
今回は成功。
Railsに組み込む場合、コールバック用のコントローラに
以下のような記述をしておくと、verify APIのレスポンスが得られる。
#サンプル
def callback
auth = request.env['omniauth.auth']
@user_id = auth.info.id
@name = auth.info.name
@input_count = auth.info.input_count
@day_count = auth.info.day_count
@repeat_count = auth.info.repeat_count
@day = auth.info.day
@week = auth.info.week
@currency_code = auth.info.currency_code"
end
また、カテゴリに関する情報を取得する場合は以下のコードで取得できる。
api_url = auth.extra.access_token.consumer.options[:site] + "/v2/home/category"
raw_info = MultiJson.load(auth.extra.access_token.get(api_url).body)['categories']
p "categries => #{raw_info}"
ジャンルなども基本的には同じ要領で取得する。
Zaimの情報を分析して家計を助けるぞー
2013年11月27日水曜日
EC2インスタンスにRuby1.9.3をインストールする。
Amazon EC2のRHEL6の無料インスタンスにRuby1.9.3をyumでインストールしたかったが、初期設定のレポジトリには1.8.x1しかなかったため、パッケージをビルドしてインストールすることを試みた。
1.まずビルドに必要なパッケージをインストールする。
対象は以下のとおり。
zlib-devel
openssl-devel
readline-devel
tk-devel
libyaml-devel
libffi-devel
rpm-build
注意
libyaml-develをインストールしたときに、以下のようなエラーが発生するかもしれな
い。
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem.
要は複数のバージョンがあるので問題ありということ。
元々インストールされていたのはlibyaml.i686、必要なのはlibyaml-devel.x86_64
なので元々あったほうをアンインストールし、libyaml-devel.x86_64をインストール
した。
sudo yum remove libyaml.i686
sudo yum install libyaml-devel.x86_64
2.home直下にrpmbuildディレクトリを作成する。
3.rpmbuildディレクトリの下に以下5つのディレクトリを作成する。
BUILD RPMS SOURCES SPECS SRPMS
4.SOURCESディレクトリに移動する。
cd ~/rpmbuild/SOURCES
5.ruby1.9.3のアーカイブをダウンロードする。
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz
6.SPECSディレクトリに移動する。
cd ~/rpmbuild/SPECS
7.specファイルをダウンロードする。
wget https://raw.github.com/imeyer/ruby-1.9.3-rpm/master/ruby19.spec
8.ビルドを実行する。
rpmbuild -bb ruby19.spec
9. rpmファイルが作成されていることを確認する。
~/rpmbuild/RPMS/x86_64/ruby-1.9.3p448-1.el6.x86_64.rpm
10.~/rpmbuild/RPMS/x86_64ディレクトリに移動する。
cd ~/rpmbuild/RPMS/x86_64
11.パッケージをインストールする。
sudo rpm -ivh ruby-1.9.3p448-1.el6.x86_64.rpm
12.インストールできたか確認する。
ruby -v
OK。1.9.3が入った!
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
1.まずビルドに必要なパッケージをインストールする。
対象は以下のとおり。
zlib-devel
openssl-devel
readline-devel
tk-devel
libyaml-devel
libffi-devel
rpm-build
注意
libyaml-develをインストールしたときに、以下のようなエラーが発生するかもしれな
い。
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem.
要は複数のバージョンがあるので問題ありということ。
元々インストールされていたのはlibyaml.i686、必要なのはlibyaml-devel.x86_64
なので元々あったほうをアンインストールし、libyaml-devel.x86_64をインストール
した。
sudo yum remove libyaml.i686
sudo yum install libyaml-devel.x86_64
2.home直下にrpmbuildディレクトリを作成する。
3.rpmbuildディレクトリの下に以下5つのディレクトリを作成する。
BUILD RPMS SOURCES SPECS SRPMS
4.SOURCESディレクトリに移動する。
cd ~/rpmbuild/SOURCES
5.ruby1.9.3のアーカイブをダウンロードする。
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz
6.SPECSディレクトリに移動する。
cd ~/rpmbuild/SPECS
7.specファイルをダウンロードする。
wget https://raw.github.com/imeyer/ruby-1.9.3-rpm/master/ruby19.spec
8.ビルドを実行する。
rpmbuild -bb ruby19.spec
9. rpmファイルが作成されていることを確認する。
~/rpmbuild/RPMS/x86_64/ruby-1.9.3p448-1.el6.x86_64.rpm
10.~/rpmbuild/RPMS/x86_64ディレクトリに移動する。
cd ~/rpmbuild/RPMS/x86_64
11.パッケージをインストールする。
sudo rpm -ivh ruby-1.9.3p448-1.el6.x86_64.rpm
12.インストールできたか確認する。
ruby -v
OK。1.9.3が入った!
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
2013年10月3日木曜日
ziprubyを使ったzip圧縮ライブラリ
ziprubyを利用したライブラリを作成。
使い方は以下のとおり。
require relative '******/ziparchiver.rb'
objZip = ZipArchiver.new( 'zipファイルのフルパス' )
objZip.createZip( '対象のフォルダまたはファイルのパス' )
*フォルダを指定するとサブディレクトリも含めて圧縮する。
objZip.encrypt( 'zipファイルのパスワード' ) <-任意で設定
https://github.com/maar4569/Ziparchiver
使い方は以下のとおり。
require relative '******/ziparchiver.rb'
objZip = ZipArchiver.new( 'zipファイルのフルパス' )
objZip.createZip( '対象のフォルダまたはファイルのパス' )
*フォルダを指定するとサブディレクトリも含めて圧縮する。
objZip.encrypt( 'zipファイルのパスワード' ) <-任意で設定
https://github.com/maar4569/Ziparchiver
2013年9月30日月曜日
zipruby(Windows)のインストール
windowsへのziprubyのインストールは、gemからやるとうまくインストールできない。
Devkitでビルドしても「checking for zlib.h******************no」と怒られてインストールできない。
インストールができた時の手順。
1.Devkitをインストール
2.ziprubyをマニュアルダウンロード
3.gem install ダウンロードファイル
これ
gem install ファイルまでのパス\zipruby1.9-0.3.6-x86-mswin32.gem
Successfully installed zipruby1.9-0.3.6-x86-mswin32
登録:
投稿 (Atom)