Hatena::ブログ(Diary)

名もないテクノ手 このページをアンテナに追加 RSSフィード

EPUB版『InDesign者のための正規表現入門』

InDesignのTips一覧

2011-03-25

[][][]XREAにtwitterライブラリをインストールしたメモ

XREAさまのrubyのバージョンは1.8.5です。新しいサーバーはどうなっているかわかりませんが、ウチ(s330)はこんな感じでした。

USERID@s330:~> ruby -v
ruby 1.8.5 (2006-12-04 patchlevel 2) [i686-linux]

なので、RubyGemsも最新版は入りません。しかしながら、あまり古いとtwitterライブラリが入りません。0.9xとか使ってる人は新規インストールした方が早そうです(インストール時のメモ:追記あり

USERID@s330:~> gem -v
1.3.5

この状態でtwitterライブラリをインストールしました。バージョンは0.9.5を選びました*1。古いバージョンのアーカイブはrubygems.orgから.gemファイルをダウンロードします。

all versions of twitter | RubyGems.org | your community gem host

なぜダウンロードしなくちゃいけないの? 「gem install twitter -v 0.9.5」じゃダメなの? と思う人もいるでしょう。ダメなんです。なぜなら、途中でKilledされちゃうからorz

ダウンロードしたらこんな感じでインストールします。

gem install twitter -v 0.9.5 --local --no-ri --no-rdoc

はい、失敗しますね。あれがない、これがない、と言われます。手作業でダウンロードして同じように「--local --no-ri --no-rdoc」オプションをつけてインストールしてください。

だいたいこんな感じになるはずです。

USERID@s330:~> gem list

*** LOCAL GEMS ***

crack (0.1.6)
hashie (0.2.0)
hoe (1.2.2)
httparty (0.5.2)
oauth (0.3.5)
rake (0.7.3)
ruby-hmac (0.3.1)
rubyforge (0.4.2)
twitter (0.9.5)
yajl-ruby (0.7.1)
seuzo@s330:~> 

とりあえず、ウチはこんな感じでbotを動かしています。まあ、とりあえずってことで。

*1:twitter0.9.6以上だとgemが1.3.6以上でないとダメで、そのためにはrubyが1.8.6以上でないとダメです

2009-01-29

[][][]XREAにRubyGemsをインストールする

XREAさまにRubyGemsをインストールするメモ。

こちらの環境はMac OS 10.5.6。すべてターミナル.appで作業します。ユーザー名は「username」にしてあります(自分のユーザー名に読み替えてください)。

ホスト情報を登録

XREAの管理ページ(http://www.sXXX.xrea.com/jp/admin.cgi)からログインします。「ホスト登録情報」から「SSH登録」をします。

f:id:seuzo:20090128215815p:image

ここに書いてあるとおり、5〜10分くらい待ってください。1度登録すると30日間ホスト情報を保存します。


SSHでログインする

ターミナルから下記のようにログインします

$ ssh username@sxxx.xrea.com
#前略
Are you sure you want to continue connecting (yes/no)?  #初めて接続する時はこのメッセージに対して「yes」とタイプしてリターン。
#中略
username@sxxx.xrea.com's password: #パスワードは毎回入力します。
username@sxxx:~>  #これでログインできました。

.bashrcにパスを通す

最初にやっておく準備。viエディタを使って、.bashrcを編集します。

username@sxxx:~> vi .bashrc

下記の設定を追加しました。

export PATH=$PATH:$HOME/bin:$HOME/lib/ruby/gems/1.8/bin
export GEM_HOME=$HOME/lib/ruby/gem
export RUBYLIB=$HOME/lib/ruby:$HOME/lib/ruby/site_ruby/1.8

設定を有効にするために下記を実行します。

username@sxxx:~> source ~/.bashrc

RubyGemsのインストール

RubyGemsをダウンロードして解凍します。RubyGemsの最新版は1.3.1ですが、なぜかうまくいきませんでした。とりあえず0.9.4を使いました。

username@sxxx:~> wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz
username@sxxx:~> tar zxf rubygems-0.9.4.tgz
username@sxxx:~> rm rubygems-0.9.4.tgz

セットアップとインストール

username@sxxx:~> cd rubygems-0.9.4/
username@sxxx:~/rubygems-0.9.4> ruby setup.rb config --prefix=$HOME

ここでどうやら、0.9.4では.configのインストール先が違うようです。$HOMEを指定しているのに/usr/local/lib〜以下になってしまっています。viで書き換えます。

:%s/\/usr\/local\/lib/\$libdir/

これでインストールします。

username@sxxx:~/rubygems-0.9.4> ruby setup.rb setup
username@sxxx:~/rubygems-0.9.4> ruby setup.rb install

ちゃんとインストールできたかどうか、コマンドをタイプしてみます。

username@sxxx:~/rubygems-0.9.4> gem -v
0.9.4
Note:

「~/rubygems-0.9.4」ディレクトリは消してしまってもかまいません。あと、「~/bin」「~/Lib」ディレクトリは700にしておいた方がいいと思います。


ziprubyをインストールしてみる

ファイルをzip/unzipするためのライブラリ、ziprubyをインストールします。

username@sxxx:~> gem install zipruby
Select which gem to install for your platform (i686-linux)
 1. zipruby 0.2.9 (ruby)
 2. zipruby 0.2.9 (mswin32)
 3. zipruby 0.2.8 (mswin32)
 4. zipruby 0.2.8 (ruby)
 5. Skip this gem
 6. Cancel installation
> 1
Building native extensions.  This could take a while...
Successfully installed zipruby-0.2.9
Installing ri documentation for zipruby-0.2.9...
Installing RDoc documentation for zipruby-0.2.9...

ziprubyをテストしてみる

こんな感じのサンプル(test.rb)を用意します。

#! /usr/local/bin/ruby

require 'rubygems'
require 'zipruby'

# zipファイルの絶対パス
file_path_archive = File.expand_path('test.zip')

# zipで圧縮するファイルの絶対パス
file_path = File.expand_path('test.txt')

# zipファイルを生成
Zip::Archive.open(file_path_archive, Zip::CREATE) do |ar|
  ar.add_file(file_path)
end

ターミナルから下記のように実行すると...

username@sxxx:~> ruby ./test.rb

はい、ちゃんとtest.zipが生成されました。

f:id:seuzo:20090129005009p:image


参照

下記ページを参考にさせていただきました。ありがとうございます。

XREAにrubygemをインストール -- Javaとrubyと男と女

RubyGems, scrAPI インストール手順 - XREA+版 -- Diaspar Journal


追記(2009-01-29T18:22:00)

CGIとして使う場合、「require 'rubygems'」がいきなりエラーですよ。あは。

XREAで自分のrailsアプリを動かしてみる。 -- Javaとrubyと男と女」を参考にさせていただいて、

$LOAD_PATH.push("/virtual/{YOUR_ID}/lib/ruby/site_ruby/1.8")
$LOAD_PATH.push("/virtual/{YOUR_ID}/lib/ruby")
ENV['GEM_HOME'] ||= '/virtual/{YOUR_ID}/lib/ruby/gem'

を追加したら、うまく読めました。ローカルでテストするときは外さないといけません。または気にしないとか^^


追記:2011-03-22T20:51:47+0900

ひさしぶりに新しいモジュールをインストールしようとしたらエラーになったでござる。

> gem install hogehoge
ERROR: While executing gem ... (Gem::RemoteSourceException) 
    HTTP Response 302

ちょっとぐぐったらこんな感じ。

Why do I get HTTP Response 302 or 301 when installing a gem? / RubyGems / FAQs - RubyGems Support

新しいgemをインストールしろ、と。しかしながらxreaさまはruby1.8.5なのでgemの最新版などはねられてしまいます。

でまあ、RubyForge: RubyGems: ファイルリストからrubygems-1.3.5.tgzをひろって再インストールしました。

注意しなくちゃいけないのは、.bashrcのパスでこんな感じにしました。

export PATH=$PATH:$HOME/bin:$HOME/lib/ruby/gems/1.8/bin
export GEM_HOME=$HOME/lib/ruby/gems/1.8
export RUBYLIB=$HOME/lib/ruby:$HOME/lib/

そして、CGIスクリプト内のパス指定はこんな感じ。

$LOAD_PATH.push("/virtual/{YOUR_ID}/lib/ruby")
$LOAD_PATH.push("/virtual/{YOUR_ID}/lib")
ENV['GEM_HOME'] ||= '/virtual/{YOUR_ID}/lib/ruby/gems/1.8'

これらの設定は下記サイトを参考にさせていただきました。

Xrea+にRubygems v1.0.1をインストールしてみた - Post-itみたいな

解凍したディレクトリ内で

username@sxxx:~/rubygems-1.3.5> ruby setup.rb all --prefix=$HOME

などとしてインストールしました。とりあえず、無事動いておりまする。