ユーザ用ツール

サイト用ツール


ruby:rubygems:server

Ruby - 共有サーバー等でのRubyGemsインストール

はじめに

私が利用している「さくらインターネット」での、RubyGemsによるモジュールのインストール方法。
ここのレンタルサーバーではスタンダードプラン以上であればSSHを使ったシェルログインが利用できる。

1. RubyGems用の作業ディレクトリを作成する

$ mkdir -p ~/local/src

2. RubyGems本体をダウンロードし、解凍する

$ cd ~/local/src
$ wget http://rubyforge.org/frs/download.php/76073/rubygems-1.8.24.tgz
$ tar xzvf rubygems-1.8.24.tgz

※最新のバージョンはここで確認を。

3. RubyGems本体をインストールする

$ cd rubygems-1.8.24
$ ruby setup.rb config --prefix=$HOME/local

4. 環境設定ファイルを開き環境変数を設定する

$ vi ~/.cshrc

# $FreeBSD: src/share/skel/dot.cshrc,v 1.14.6.1 2008/11/25 02:59:29 kensmith Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#

alias h         history 25
alias j         jobs -l
alias la        ls -a
alias lf        ls -FA
alias ll        ls -lA

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin $HOME/local/bin)

setenv  EDITOR  vi
setenv  PAGER   more
setenv  BLOCKSIZE       K
setenv  PKG_DBDIR       ~/db/pkg
setenv  RUBYLIB $HOME/local/lib
setenv  GEM_HOME        $HOME/local/lib/rubygem
setenv  RB_USER_INSTALL true

if ($?prompt) then
  # An interactive shell -- set some stuff up
  set filec
  set history = 100
  set savehist = 100
  set mail = (/var/mail/$USER)
  if ( $?tcsh ) then
    bindkey "^W" backward-delete-word
    bindkey -k up history-search-backward
    bindkey -k down history-search-forward
  endif
endif

5. 環境変数の設定を反映させる

$ source ~/.cshrc

6. 通常通りインストールを行う

(環境変数RB_USER_INSTALLをtrueにしてから実行すること)

$ setenv RB_USER_INSTALL true
$ gem install hoge

7. スクリプト側での設定も併せて行う

ライブラリの場所を指定してやらないと動かないようなので、インストールしたライブラリのうち利用するものの場所を教えてやる必要がある。

#!/usr/bin/ruby
# coding: utf-8

Dir.chdir(File.dirname($0))

$LOAD_PATH.push("/home/[USER_NAME]/local/lib")
$LOAD_PATH.push("/home/[USER_NAME]/local/lib/rubygem/gems/libraryA-X.X.X/lib")
$LOAD_PATH.push("/home/[USER_NAME]/local/lib/rubygem/gems/libraryB-X.X.X/lib")
$LOAD_PATH.push("/home/[USER_NAME]/local/lib/rubygem/gems/libraryC-X.X.X/lib")

require "libraryA"
require "libraryB"
require "libraryC"

ruby/rubygems/server.txt · 最終更新: 2018/07/20 14:26 by taka