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

hidemium's blog

日々学んだことをアウトプットする。

Railsで新規アプリケーションを作成する

新規アプリケーションを作成します。

$ mkdir data
$ cd data
$ rails new railbook

HTTPサーバを起動します。

$ cd railbook
$ rails server


rails serverのコマンドを実行したところ、様々なエラーが発生したので、対応方法を記載します。

Could not find gem 'xxxxxx (>= 0) ruby' in the gems available on this machine.

上記はライブラリがないことを示しています。

/root/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

上記はJavaScript runtimeがないことを示しています。

そこで、Gemfileを編集し、以下の行のコメントアウトを外し、bundle installを実行します。bundle installを行うことで、必要なライブラリがすべてインストールされます。

$ vi Gemfile
gem 'therubyracer', :platforms => :ruby ←#を削除
$ bundle install

そして一番苦戦したので、以下のエラーです。
opensslがロードできないことを示していますが、rubyのインストール時にRUBY_CONFIGURE_OPTSでopensslのパスを指定する必要がありました。

/root/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- openssl (LoadError)

rbenvを使用する場合は以下のようにします。RUBY_CONFIGURE_OPTSはrbenvの前でも後でもどちらでもいいようです。

$ rbenv install -v 1.9.3-p545 RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/bin"