PIONEのインストール方法

提供: Eospedia
2016年3月11日 (金) 08:51時点におけるTakahiro (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

PIONEのインストール方法

はじめに

 PIONEruby, gem, bundleの機能を前提として動いています。インストールする前に予めruby, gem, bundleがインストールされているか確認しましょう。特にrubyについては現在1.9.2以上の1.9台でしかPIONEが動作しませんので、バージョンの確認も重要です。念のために下記のコードでruby, gem, bundleのインストール場所とバージョンを確認しましょう。Eosを既にインストールしている場合はEosディレクトリ内にあります。異なるディレクトリの場合はPIONEをインストール、実行するときに思わぬエラーが発生してしまう可能性もありますので、全て同じディレクトリ内であることを推奨します。

$ which ruby
/Eos/util/X86MAC64/bin/ruby
$ which gem
/Eos/util/X86MAC64/bin/gem
$ which bundle
/Eos/util/X86MAC64/bin/bundle
$ ruby -v
ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-darwin12.5.0]
$ gem -v
1.8.23.2
$ bundle -v
Bundler version 1.7.7

もし複数のruby/gemが存在する場合は使用しないバージョンは削除するかgem1.9のようにリネームする必要があります。

インストール

ruby/gemがインストールされている場合

 rubyのもつgemの機能に対応しています。gemと同じディレクトリにインストールします。インストール先が/usr/localや/sw/の場合、管理者がインストールする必要があります。

$ gem install pione


 アップデートする場合には、

$ gem update pione

として実行してみましょう。

直接githubからインストールする場合

 githubからPIONEをダウンロードしてきます。

$ git clone https://github.com/pione/pione.git


 次にbundleにて更新を行います。
まず、下記のコマンドでbundleがインストールされているか確認して下さい。インストールされている場合はファイル名が出力されます。

$ which bundle
/Eos/util/X86MAC64/bin/bundle


 インストールされている場合は下記のコマンドで更新します。

$ cd pione
$ bundle install --path vender/bundle

 このときbundle installコマンドは/pioneディレクトリ内で実行するか、予めパスを切って実行して下さい。(Gemfile及びvender/bundle以下が必要であるため)

環境の設定

 下記のコマンドを通して、PATHとRUBYLIBの変数の定義をします。

$ cd (PIONEのディレクトリ)
$ export PATH=$PWD/bin:$PATH
$ export RUBYLIB=$PWD/lib

 pione/misc/env.shを実行することでその環境を設定することも出来ます。
 この設定をEosの環境設定と同様にシェル起動直後に実行できるようにすると、手間を省くことができます。
 なお、こちらの環境変数やbundle installなどのコマンドはインストール時には不要です。

専用シェルを用いたPIONE Webclientのインストール方法

$ wget -q -O - https://raw.githubusercontent.com/pione/pione-webclient/master/install.sh | sh

もしくは、wgetがインストールされていない場合には、curlコマンドを使って

$ curl https://raw.githubusercontent.com/pione/pione-webclient/master/install.sh | sh

これによりインストールのための専用シェルが起動します.

 ただし、ruby/gem/bundler(rubyのツール)が導入されていない場合には動きません。ruby/gemのインストールをして下さい。 gemがインストールされているが、bundlerがインストールされていない場合には、gemを使ってinstallすることが出来ます。前もって、下記のコマンドをうってみて下さい。

$ sudo gem install bundler


インストールの確認

PIONEがインストールできたかは、例えば次のコマンドで確認できます。

$ pione -v
pione 0.5.0


PIONEPIONE Webclientを実際に起動するには、PIONEの起動方法をご覧ください。

インストール上の問題

 現在、LINUX/OS-Xでの動作が確認されています。Windows上ではRubyのThreadの実装の関係で問題が生じます。

 それぞれの環境で、git/ruby/gem/bundleなどがインストールされていない場合があります。

 gitはそれぞれの環境毎でインストール(apt-get/yumなど)が可能です。ほとんどのパッケージで対応しています。

 現在、rubyのバージョンは、1.9.2以上で1.9台を要求しています。2.1にもいずれ対応する予定です。 rubyのバージョンが1.9.1しか対応していないLINUXでは、ソースコードをダウンロードして、インストールする必要があります。また、ZLIB/YAMLなども必要になります。まず、そちらをインストールしてから、rubyのconfigure/make/make installを実行して下さい。

 gemは、rubygemsをダウンロードしてインストールして下さい。

 bundleは、gemからインストールできます。

エラーと対処法

下記のエラーが発生した場合

$ bundle install --path vender/bundle

Could not load OpenSSL.
You must recompile Ruby with OpenSSL support or change the sources in your Gemfile from 'https' to 'http'. Instructions
for compiling with OpenSSL using RVM are available at http://rvm.io/packages/openssl.


この場合は使用しているrubyにOpenSSLが含まれていない可能性がありますので、irbコマンドから確認してみて下さい。(参照:RubyのTIPS#irb)含まれていない場合はrubyを再コンパイルする必要があります。

rubyに含まれていない場合のエラー例

$ irb
irb(main):001:0> require 'openssl'
LoadError: libssl.so.0.9.8: cannot open shared object file: No such file or directory


rubyに含まれている場合は下記のようにtrueが返ります。

$ irb
irb(main):001:0> require 'openssl'
=> true


rubyの(再)コンパイル

 rubyの(再)コンパイル方法について示します。

autoconfの確認

 まずコンパイルのためにautoconfを使用するのでインストールされているかを確認します。

$ which autoconf
/usr/local/bin/autoconf


インストールされていない場合はAutoconf - 概要よりダウンロードして解凍し、下記のコマンドにてインストールします。(diffファイルは差分のみですので、それ以外で最新のバージョンをダウンロードします。)

cd (解凍したautoconfのディレクトリ)
./configure
make
make install


ライブラリの確認

次にコンパイル前に必要なライブラリがそろっているかを確認します。上記のエラーの場合はopensslがあるかを確認し、ない場合は予めインストールしておきます。Eosがインストールされている場合は各ライブラリがEosのディレクトリにありますのでこちらをEosの更新をして下さい。ライブラリが格納されているディレクトリは/Eos/hostdepend/X86MAC/util/X86MAC/(Macの場合)です。お急ぎの場合はこちらからOSタイプを選択し、utilディレクトリのみダウンロードして更新して下さい。

ダウンロードとインストール

必要なライブラリをインストールした後、オブジェクト指向スクリプト言語 Rubyより、ダウンロードしたいバージョンのソースコードをダウンロードします。(1.9.2以降2.0.0未満)

そしてダウンロードしたソースコードをコンパイルします。

コンパイル方法(ソースコードのルートディレクトリで実行)

$ autoconf
$ ./configure --prefix="(インストール先の絶対パス)"
$ make
$ make install

(注意) インストール先のディレクトリ(binとlibがあるディレクトリ)は絶対パスを使用して下さい。Eos内にてrubyの更新を行う際には${EOSHOME}/util/${EOS_HOSTDIR}以下が${EOS_HOME}/hostdepend/${EOS_HOSTDIR}/util/${EOS_HOSTDIR}のリンクになっているので特に注意が必要です。(参照:よく使うシェルコマンド#pwdによる注意事項)

更新の確認

これらのコマンドが成功したら、(再)コンパイルは完了です。バージョンやライブラリなどが更新されたか確認しましょう。

$ ruby -v
ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-darwin12.5.0]
$ gem -v
1.8.23.2
/Eos$ irb
irb(main):001:0> require 'openssl'
=> true


PIONEインストール手順例

YAML等をインストール
↓
Ruby (1.9.2以上の1.9台) をインストール(コンパイル)
↓
gemでbundleをインストール
↓
gemでPIONEをインストール
↓
PIONE Webclientをインストール


アップデート上の注意

 PIONEのアップデート方法は大きく分けてgithub経由とgem経由の2つがあります。github経由のアップデートはPIONEが予めgithubからダウンロード・インストールされていなければ、使用できません。gem経由はruby, gem, bundleがあればアップデート可能です。いずれも最新のバージョンに更新されますが、gemはバージョンアップ直後のデータとして更新されます。一方、githubの場合はソースコード更新が直接反映されていますので、直前のバグ修正などを確認したい場合はこちらをお試しください。