さくらのレンタルサーバにRubyをインストールする

まずはローカルのVine Linuxで試してから。

環境(ローカル)

Rubyをダウンロードする

$ pwd
/home/xxx

$ mkdir src
$ cd src
$ pwd
/home/xxx/src

$ wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.4.tar.gz
--21:28:28--  ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.4.tar.gz
           => 'ruby-1.8.4.tar.gz'
ftp.ruby-lang.org をDNSに問いあわせています... 210.163.138.100
ftp.ruby-lang.org[210.163.138.100]:21 に接続しています... 接続しました。
anonymous としてログインしています... ログインしました!
==> SYST ... 完了しました。    ==> PWD ... 完了しました。
==> TYPE I ... 完了しました。  ==> CWD /pub/ruby ... 完了しました。
==> PORT ... 完了しました。    ==> RETR ruby-1.8.4.tar.gz ... 完了しました。
長さ: 4,312,965 (確証はありません)

100%[====================================>] 4,312,965    464.88K/s    ETA 00:00

21:28:38 (463.33 KB/s) - 'ruby-1.8.4.tar.gz' を保存しました [4312965]
    

アーカイブを展開する

README.ja を読むと 'make test' っちゅーのがあるらしい。

$ pwd
/home/xxx/src

$ gzip -dc ruby-1.8.4.tar.gz | tar xf -
$ cd ruby-1.8.4
$ pwd
/home/xxx/src/ruby-1.8.4

$ gedit README.ja
    

インストールする

$ cd
$ mkdir opt
$ cd opt
$ mkdir ruby
$ cd ruby
$ pwd
/home/xxx/opt/ruby

$ cd
$ cd src
$ cd ruby-1.8.4
$ pwd
/home/xxx/src/ruby-1.8.4

$ echo $HOME
/home/xxx
    
$ ./configure --prefix=$HOME/opt/ruby
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking whether gcc needs -traditional... no
checking whether the linker is GNU ld... yes
checking whether gcc -E accepts -o... yes
checking for bison... no
checking for byacc... no
checking for ranlib... ranlib
checking for ar... ar
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for AIX... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for _LARGE_FILES value needed for large files... no
checking for long long... yes
checking for off_t... yes
checking for int... yes
checking size of int... 4
checking for short... yes
checking size of short... 2
checking for long... yes
checking size of long... 4
checking for long long... (cached) yes
checking size of long long... 8
checking for __int64... no
checking size of __int64... 0
checking for off_t... (cached) yes
checking size of off_t... 8
checking for void*... yes
checking size of void*... 4
checking for float... yes
checking size of float... 4
checking for double... yes
checking size of double... 8
checking for time_t... yes
checking size of time_t... 4
checking for pid_t... yes
checking for gid_t... yes
checking for uid_t... yes
checking for prototypes... yes
checking token paste string... ansi
checking for variable length prototypes and stdarg.h... yes
checking for noreturn... x __attribute__ ((noreturn))
checking for RUBY_EXTERN... no
checking whether sys_nerr is declared... yes
checking for crypt in -lcrypt... yes
checking for dlopen in -ldl... yes
checking for shl_load in -ldld... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking syscall.h usability... yes
checking syscall.h presence... yes
checking for syscall.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking a.out.h usability... yes
checking a.out.h presence... yes
checking for a.out.h... yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking for memory.h... (cached) yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/utime.h usability... no
checking sys/utime.h presence... no
checking for sys/utime.h... no
checking netinet/in_systm.h usability... yes
checking netinet/in_systm.h presence... yes
checking for netinet/in_systm.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking ucontext.h usability... yes
checking ucontext.h presence... yes
checking for ucontext.h... yes
checking intrinsics.h usability... no
checking intrinsics.h presence... no
checking for intrinsics.h... no
checking for size_t... yes
checking for struct stat.st_blksize... yes
checking for struct stat.st_blocks... yes
checking for struct stat.st_rdev... yes
checking for uid_t in sys/types.h... (cached) yes
checking type of array argument to getgroups... gid_t
checking return type of signal handlers... void
checking for working alloca.h... yes
checking for alloca... yes
checking for working memcmp... yes
checking for _LARGEFILE_SOURCE value needed for large files... 1
checking for fseeko... yes
checking for ftello... yes
checking for dup2... yes
checking for memmove... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for strerror... yes
checking for strftime... yes
checking for strchr... yes
checking for strstr... yes
checking for strtoul... yes
checking for crypt... yes
checking for flock... yes
checking for vsnprintf... yes
checking for isnan... yes
checking for finite... yes
checking for isinf... yes
checking for hypot... yes
checking for acosh... yes
checking for erf... yes
checking for fmod... yes
checking for killpg... yes
checking for wait4... yes
checking for waitpid... yes
checking for syscall... yes
checking for chroot... yes
checking for fsync... yes
checking for getcwd... yes
checking for truncate... yes
checking for chsize... no
checking for times... yes
checking for utimes... yes
checking for fcntl... yes
checking for lockf... yes
checking for lstat... yes
checking for symlink... yes
checking for link... yes
checking for readlink... yes
checking for setitimer... yes
checking for setruid... no
checking for seteuid... yes
checking for setreuid... yes
checking for setresuid... yes
checking for setproctitle... no
checking for setrgid... no
checking for setegid... yes
checking for setregid... yes
checking for setresgid... yes
checking for issetugid... no
checking for pause... yes
checking for lchown... yes
checking for lchmod... no
checking for getpgrp... yes
checking for setpgrp... yes
checking for getpgid... yes
checking for setpgid... yes
checking for initgroups... yes
checking for getgroups... yes
checking for setgroups... yes
checking for getpriority... yes
checking for getrlimit... yes
checking for dlopen... yes
checking for sigprocmask... yes
checking for sigaction... yes
checking for _setjmp... yes
checking for setsid... yes
checking for telldir... yes
checking for seekdir... yes
checking for fchmod... yes
checking for mktime... yes
checking for timegm... yes
checking for cosh... yes
checking for sinh... yes
checking for tanh... yes
checking for setuid... yes
checking for setgid... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct tm.tm_gmtoff... yes
checking for external int daylight... yes
checking for negative time_t for gmtime(3)... yes
checking whether getpgrp requires zero arguments... yes
checking whether setpgrp takes no argument... yes
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking whether char is unsigned... no
checking for inline... inline
checking for working volatile... yes
checking whether right shift preserve sign bit... yes
checking read count field in FILE structures... not found(OK if using GNU libc)
checking read buffer ptr field in FILE structures... _IO_read_ptr
checking read buffer end field in FILE structures... _IO_read_end
checking whether need to seek between R/W... no
checking whether st_ino is huge... yes
checking stack growing direction... (cached) -1
checking whether ELF binaries are produced... yes
checking whether OS depend dynamic link works... yes
checking for nroff... /usr/bin/nroff
creating config.h
configure: creating ./config.status
config.status: creating Makefile
    
$ make

$ make test
test succeeded

$ make install

$ make clean
    

バージョンを確認する

$ ruby -v
ruby 1.8.2 (2004-11-03) [i386-linux]

$ $HOME/opt/ruby/bin/ruby -v
ruby 1.8.4 (2005-12-24) [i686-linux]
    

動作を確認する

$ $HOME/opt/ruby/bin/irb
irb(main):001:0> puts 'hello world'
hello world
=> nil
irb(main):002:0> exit
    

環境(さくらのレンタルサーバ)

Rubyをダウンロードする

% pwd
/home/xxx

% mkdir src
% cd src
% pwd
/home/xxx/src

% wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.4.tar.gz
    

アーカイブを展開する

% pwd
/home/xxx/src

% gzip -dc ruby-1.8.4.tar.gz | tar xf -
% cd ruby-1.8.4
% pwd
/home/xxx/src/ruby-1.8.4
    

インストールする

% cd
% mkdir opt
% cd opt
% mkdir ruby
% cd ruby
% pwd
/home/xxx/opt/ruby

% cd
% cd src
% cd ruby-1.8.4
% pwd
/home/xxx/src/ruby-1.8.4

% echo $HOME
/home/xxx
    
% ./configure --prefix=$HOME/opt/ruby
checking build system type... i386-unknown-freebsd4.10
checking host system type... i386-unknown-freebsd4.10
checking target system type... i386-unknown-freebsd4.10
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking whether gcc needs -traditional... no
checking whether the linker is GNU ld... yes
checking whether gcc -E accepts -o... yes
checking for bison... no
checking for byacc... byacc
checking for ranlib... ranlib
checking for ar... ar
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for AIX... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... no
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGE_FILES value needed for large files... no
checking for long long... yes
checking for off_t... yes
checking for int... yes
checking size of int... 4
checking for short... yes
checking size of short... 2
checking for long... yes
checking size of long... 4
checking for long long... (cached) yes
checking size of long long... 8
checking for __int64... no
checking size of __int64... 0
checking for off_t... (cached) yes
checking size of off_t... 8
checking for void*... yes
checking size of void*... 4
checking for float... yes
checking size of float... 4
checking for double... yes
checking size of double... 8
checking for time_t... yes
checking size of time_t... 4
checking for pid_t... yes
checking for gid_t... yes
checking for uid_t... yes
checking for prototypes... yes
checking token paste string... ansi
checking for variable length prototypes and stdarg.h... yes
checking for noreturn... x __attribute__ ((noreturn))
checking for RUBY_EXTERN... no
checking whether sys_nerr is declared... yes
checking whether -lxpg4 has to be linked... no
checking for crypt in -lcrypt... yes
checking for dlopen in -ldl... no
checking for shl_load in -ldld... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking syscall.h usability... no
checking syscall.h presence... no
checking for syscall.h... no
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking a.out.h usability... yes
checking a.out.h presence... yes
checking for a.out.h... yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking for memory.h... (cached) yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/utime.h usability... no
checking sys/utime.h presence... no
checking for sys/utime.h... no
checking netinet/in_systm.h usability... yes
checking netinet/in_systm.h presence... yes
checking for netinet/in_systm.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking ieeefp.h usability... yes
checking ieeefp.h presence... yes
checking for ieeefp.h... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking ucontext.h usability... no
checking ucontext.h presence... yes
configure: WARNING: ucontext.h: present but cannot be compiled
configure: WARNING: ucontext.h:     check for missing prerequisite headers?
configure: WARNING: ucontext.h: see the Autoconf documentation
configure: WARNING: ucontext.h:     section "Present But Cannot Be Compiled"
configure: WARNING: ucontext.h: proceeding with the preprocessor's result
configure: WARNING: ucontext.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------------ ##
configure: WARNING:     ## Report this to the AC_PACKAGE_NAME lists.  ##
configure: WARNING:     ## ------------------------------------------ ##
checking for ucontext.h... yes
checking intrinsics.h usability... no
checking intrinsics.h presence... no
checking for intrinsics.h... no
checking for size_t... yes
checking for struct stat.st_blksize... yes
checking for struct stat.st_blocks... yes
checking for struct stat.st_rdev... yes
checking for uid_t in sys/types.h... (cached) yes
checking type of array argument to getgroups... gid_t
checking return type of signal handlers... void
checking for working alloca.h... no
checking for alloca... yes
checking for working memcmp... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for fseeko... yes
checking for ftello... yes
checking for dup2... yes
checking for memmove... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for strerror... yes
checking for strftime... yes
checking for strchr... yes
checking for strstr... yes
checking for strtoul... yes
checking for crypt... yes
checking for flock... yes
checking for vsnprintf... yes
checking for isnan... yes
checking for finite... yes
checking for isinf... yes
checking for hypot... yes
checking for acosh... yes
checking for erf... yes
checking for fmod... yes
checking for killpg... yes
checking for wait4... yes
checking for waitpid... yes
checking for syscall... yes
checking for chroot... yes
checking for fsync... yes
checking for getcwd... yes
checking for truncate... yes
checking for chsize... no
checking for times... yes
checking for utimes... yes
checking for fcntl... yes
checking for lockf... yes
checking for lstat... yes
checking for symlink... yes
checking for link... yes
checking for readlink... yes
checking for setitimer... yes
checking for setruid... yes
checking for seteuid... yes
checking for setreuid... yes
checking for setresuid... yes
checking for setproctitle... yes
checking for setrgid... yes
checking for setegid... yes
checking for setregid... yes
checking for setresgid... yes
checking for issetugid... yes
checking for pause... yes
checking for lchown... yes
checking for lchmod... yes
checking for getpgrp... yes
checking for setpgrp... yes
checking for getpgid... yes
checking for setpgid... yes
checking for initgroups... yes
checking for getgroups... yes
checking for setgroups... yes
checking for getpriority... yes
checking for getrlimit... yes
checking for dlopen... yes
checking for sigprocmask... yes
checking for sigaction... yes
checking for _setjmp... yes
checking for setsid... yes
checking for telldir... yes
checking for seekdir... yes
checking for fchmod... yes
checking for mktime... yes
checking for timegm... yes
checking for cosh... yes
checking for sinh... yes
checking for tanh... yes
checking for setuid... yes
checking for setgid... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct tm.tm_gmtoff... yes
checking for external int daylight... no
checking for negative time_t for gmtime(3)... yes
checking whether getpgrp requires zero arguments... yes
checking whether setpgrp takes no argument... no
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking whether char is unsigned... no
checking for inline... inline
checking for working volatile... yes
checking whether right shift preserve sign bit... yes
checking read count field in FILE structures... _r
checking read buffer ptr field in FILE structures... _p
checking whether need to seek between R/W... yes
checking whether st_ino is huge... no
checking stack growing direction... (cached) -1
checking whether ELF binaries are produced... yes
checking whether OS depend dynamic link works... yes
checking for nroff... /usr/bin/nroff
creating config.h
configure: creating ./config.status
config.status: creating Makefile
    
% make

% make test
test succeeded

% make install

% make clean
    

バージョンを確認する

% ruby -v
ruby 1.8.2 (2004-12-25) [i386-freebsd4]

% $HOME/opt/ruby/bin/ruby -v
ruby 1.8.4 (2005-12-24) [i386-freebsd4.10]
    

動作を確認する

% $HOME/opt/ruby/bin/irb
irb(main):001:0> puts 'hello world'
hello world
=> nil
irb(main):002:0> exit
    

関連情報

Copyright © 2006, AfternoonTea
All rights reserved.