読者です 読者をやめる 読者になる 読者になる

(追記中)さくらのレンタルサーバでRailsをうごかしたい

サーバ通信をするiOSアプリケーションを制作するにあたって、さくらのレンタルサーバRailsアプリケーションを動かそうとしています。
まだ途中。進展しだい追記してます。

  • いまどこ?

Rubygemsをインストール(clear)
Railsをインストール(clear)
rails newする→sqlite3-ruby(1.3.5)が必要と言われる→gem installでエラー→手動でsqlite3-rubyをインストール→状況変わらず(いまここ)

どなたか解決策ご存知でしたらおしえてください…

      • -
  • HOME内にRubygemsをインストール

RubyGems をユーザーのディレクトリにインストールしてみた | ふにょいサイト
Ruby on Rails入門3 さくらインターネットにRuby on Railsをインストール - nyon2.net
こちらを参考に。
Rubyは既に入っている1.8.7を使おうと思っています。
gemも入っているのですが、使おうとするとPermission deniedと怒られちゃうので、HOMEに別途インストールします。
最新版は1.8.16でした。

%mkdir $HOME/src
%cd $HOME/src
%wget http://rubyforge.org/frs/download.php/75833/rubygems-1.8.16.tgz
%tar zxvf rubygems-1.8.16.tgz
%cd rubygems-1.8.16
%ruby setup.rb --prefix=$HOME
%chsh -s /usr/local/bin/bash

ほんとはzshにしようと思ったのですが、いったんchshでzshに変更したら
いろいろ痛い目をみた(パス通してるはずなのにfindやchshが見つからない→一晩放置してたらできるようになってた、などなど)ので
今のところbashに落ち着いています…

.bash_profileには

export GEM_HOME=$HOME/bin
export RUBYLIB=$HOME/lib/rubygems
export RB_USER_INSTALL=true

こんな感じに追加して、

%source .bash_profile

更新。

  • gemでrailsをインストール
%gem18 install rails

もしくは、gem(gem18)は、$HOME/bin内にあるので、

%$HOME/bin/gem18 install rails

依存関係にあるものもごそっと取ってきてくれます。
今回はオプションなしでRails3.2.1が入りました。

Fetching: i18n-0.6.0.gem (100%)
Fetching: multi_json-1.0.4.gem (100%)
Fetching: activesupport-3.2.1.gem (100%)
Fetching: builder-3.0.0.gem (100%)
Fetching: activemodel-3.2.1.gem (100%)
Fetching: rack-1.4.1.gem (100%)
Fetching: rack-cache-1.1.gem (100%)
Fetching: rack-test-0.6.1.gem (100%)
Fetching: journey-1.0.1.gem (100%)
Fetching: hike-1.2.1.gem (100%)
Fetching: tilt-1.3.3.gem (100%)
Fetching: sprockets-2.1.2.gem (100%)
Fetching: erubis-2.7.0.gem (100%)
Fetching: actionpack-3.2.1.gem (100%)
Fetching: arel-3.0.0.gem (100%)
Fetching: tzinfo-0.3.31.gem (100%)
Fetching: activerecord-3.2.1.gem (100%)
Fetching: activeresource-3.2.1.gem (100%)
Fetching: mime-types-1.17.2.gem (100%)
Fetching: polyglot-0.3.3.gem (100%)
Fetching: treetop-1.4.10.gem (100%)
Fetching: mail-2.4.1.gem (100%)
Fetching: actionmailer-3.2.1.gem (100%)
Fetching: thor-0.14.6.gem (100%)
Fetching: rack-ssl-1.3.2.gem (100%)
Fetching: json-1.6.5.gem (100%)
Building native extensions.  This could take a while...
Fetching: rdoc-3.12.gem (100%)
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Fetching: railties-3.2.1.gem (100%)
Fetching: bundler-1.0.22.gem (100%)
Fetching: rails-3.2.1.gem (100%)
Successfully installed i18n-0.6.0
Successfully installed multi_json-1.0.4
Successfully installed activesupport-3.2.1
Successfully installed builder-3.0.0
Successfully installed activemodel-3.2.1
Successfully installed rack-1.4.1
Successfully installed rack-cache-1.1
Successfully installed rack-test-0.6.1
Successfully installed journey-1.0.1
Successfully installed hike-1.2.1
Successfully installed tilt-1.3.3
Successfully installed sprockets-2.1.2
Successfully installed erubis-2.7.0
Successfully installed actionpack-3.2.1
Successfully installed arel-3.0.0
Successfully installed tzinfo-0.3.31
Successfully installed activerecord-3.2.1
Successfully installed activeresource-3.2.1
Successfully installed mime-types-1.17.2
Successfully installed polyglot-0.3.3
Successfully installed treetop-1.4.10
Successfully installed mail-2.4.1
Successfully installed actionmailer-3.2.1
Successfully installed thor-0.14.6
Successfully installed rack-ssl-1.3.2
Successfully installed json-1.6.5
Successfully installed rdoc-3.12
Successfully installed railties-3.2.1
Successfully installed bundler-1.0.22
Successfully installed rails-3.2.1
30 gems installed
Installing ri documentation for i18n-0.6.0...
Installing ri documentation for multi_json-1.0.4...
Installing ri documentation for activesupport-3.2.1...
Installing ri documentation for builder-3.0.0...
Installing ri documentation for activemodel-3.2.1...
Installing ri documentation for rack-1.4.1...
Installing ri documentation for rack-cache-1.1...
Installing ri documentation for rack-test-0.6.1...
Installing ri documentation for journey-1.0.1...
Installing ri documentation for hike-1.2.1...
Installing ri documentation for tilt-1.3.3...
Installing ri documentation for sprockets-2.1.2...
Installing ri documentation for erubis-2.7.0...
Installing ri documentation for actionpack-3.2.1...
Installing ri documentation for arel-3.0.0...
Installing ri documentation for tzinfo-0.3.31...
Installing ri documentation for activerecord-3.2.1...
Installing ri documentation for activeresource-3.2.1...
Installing ri documentation for mime-types-1.17.2...
Installing ri documentation for polyglot-0.3.3...
Installing ri documentation for treetop-1.4.10...
Installing ri documentation for mail-2.4.1...
Installing ri documentation for actionmailer-3.2.1...
Installing ri documentation for thor-0.14.6...
Installing ri documentation for rack-ssl-1.3.2...
Installing ri documentation for json-1.6.5...
Installing ri documentation for rdoc-3.12...
Installing ri documentation for railties-3.2.1...
Installing ri documentation for bundler-1.0.22...
Installing ri documentation for rails-3.2.1...
Installing RDoc documentation for i18n-0.6.0...
Installing RDoc documentation for multi_json-1.0.4...
Installing RDoc documentation for activesupport-3.2.1...
Installing RDoc documentation for builder-3.0.0...
Installing RDoc documentation for activemodel-3.2.1...
Installing RDoc documentation for rack-1.4.1...
Installing RDoc documentation for rack-cache-1.1...
Installing RDoc documentation for rack-test-0.6.1...
Installing RDoc documentation for journey-1.0.1...
Installing RDoc documentation for hike-1.2.1...
Installing RDoc documentation for tilt-1.3.3...
Installing RDoc documentation for sprockets-2.1.2...
Installing RDoc documentation for erubis-2.7.0...
Installing RDoc documentation for actionpack-3.2.1...
Installing RDoc documentation for arel-3.0.0...
Installing RDoc documentation for tzinfo-0.3.31...
Installing RDoc documentation for activerecord-3.2.1...
Installing RDoc documentation for activeresource-3.2.1...
Installing RDoc documentation for mime-types-1.17.2...
Installing RDoc documentation for polyglot-0.3.3...
Installing RDoc documentation for treetop-1.4.10...
Installing RDoc documentation for mail-2.4.1...
Installing RDoc documentation for actionmailer-3.2.1...
Installing RDoc documentation for thor-0.14.6...
Installing RDoc documentation for rack-ssl-1.3.2...
Installing RDoc documentation for json-1.6.5...
Installing RDoc documentation for rdoc-3.12...
Installing RDoc documentation for railties-3.2.1...
Installing RDoc documentation for bundler-1.0.22...
Installing RDoc documentation for rails-3.2.1...

この時点で、gem listしたら

actionmailer (3.2.1)
actionpack (3.2.1)
activemodel (3.2.1)
activerecord (3.2.1)
activeresource (3.2.1)
activesupport (3.2.1)
arel (3.0.0)
builder (3.0.0)
bundler (1.0.22)
deprecated (2.0.1)
erubis (2.7.0)
hike (1.2.1)
i18n (0.6.0)
journey (1.0.1)
json (1.6.5)
mail (2.4.1)
mime-types (1.17.2)
multi_json (1.0.4)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.1)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.1)
railties (3.2.1)
rake (0.9.2.2)
rdoc (3.12)
sources (0.0.2)
sprockets (2.1.2)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.31)

こんな感じでした。

  • Railsを動かしてみる
%mkdir rails
%cd rails
%rails new testapp

これでnewできたらOK。
わたしは

-bash: rails: command not found

と出ました。
railsの場所は~/bin/bin/railsだったみたいで、パスが通っていなかっただけでした。
パスを通すか絶対パスで指定して、再チャレンジ。

An error occured while installing sqlite3 (1.3.5), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.5'` succeeds before bundling.

入れてみます。

%gem18 install sqlite3-ruby -v '1.3.5'

Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
	ERROR: Failed to build gem native extension.

        /usr/local/bin/ruby18 extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Try 'port install sqlite3 +universal'
or 'yum install sqlite-devel' and check your shared library search path (the
location where your sqlite3 shared library is located).
*** 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.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/local/bin/ruby18
	--with-sqlite3-dir
	--without-sqlite3-dir
	--with-sqlite3-include
	--without-sqlite3-include=${sqlite3-dir}/include
	--with-sqlite3-lib
	--without-sqlite3-lib=${sqlite3-dir}/lib
	--enable-local
	--disable-local


Gem files will remain installed in $HOME/bin/gems/sqlite3-1.3.5 for inspection.
Results logged to $HOME/bin/gems/sqlite3-1.3.5/ext/sqlite3/gem_make.out

うまくいきませんでした。
FreeBSDのパッケージ管理ツールってなんなんでしょうか。
yumもapt-getもなさそうなのですが、そもそも使わせてもらえるのかもわからないな。
「sqlite3.h is missing. Try 'port install sqlite3 +universal'
or 'yum install sqlite-devel' and check your shared library search path (the
location where your sqlite3 shared library is located).」とはありますが、ちょっとこの子たちどう入れたらいいか分からない…

いろいろ調べてみたら、バージョンを下げれば入るらしいとのことで、やってみました。

%gem18 install sqlite3-ruby -v '1.2.4'

できちゃった…
再度トライするも、やっぱり1.3.5が必要って怒られてしまいました。効果なし。(2/12 15:22)

      • -

パッケージ管理ツールは使わせてもらえないとのことなので、
SQLite公式からtar.gzを落としてきて、
HOME内でmake installしてみました。

その後もう一度gem18 install sqlite3-rubyしても同じエラーメッセージが出たので、
↑からDLできたsqlite-amalgamation-3071000フォルダの中身を~/bin/rubygems/sqlite3-1.3.5/ext/sqlite3の中にぽい!
gemでインストールしようとするとextの中身も消されてしまう(新しいファイルをフェッチしてるんでしょうか)ので
手動で

%ruby setup.rb config --prefix=$HOME
%ruby setup.rb setup
%ruby setup.rb install

したら、インストールできました。

今度こそ!と意気込んで、rails new。→やっぱりできない。(20:55)