今回はRuby on Railsの環境構築を行いたいと思います。
最終的にはホームページを作成したいと思います。
環境
OS/ミドルウェア | バージョン |
---|---|
CentOS | 7.2.1511 |
rbenvのインストール
git cloneしてくるのでgitコマンドを使用できない場合は、gitをインストールします。
1 2 3 4 5 6 7 8 9 10 |
// gitコマンドを使用できない場合 $ sudo yum install git $ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile $ source ~/.bash_profile $ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build $ cd ~/.rbenv/plugins/ruby-build $ sudo ./install.sh |
rubyのインストール
インストール可能なバージョンを確認して、最新を導入します。
[バージョンの確認]
1 |
$ rbenv install -list |
[表示結果]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Available versions: 1.8.5-p52 1.8.5-p113 ︙ 2.4.0 2.4.1 2.4.2 2.5.0-dev 2.5.0-preview1 jruby-1.5.6 jruby-1.6.3 ︙ ree-1.8.7-2012.02 topaz-dev |
[パッケージのインストール]
パッケージが足りていないエラーが出るらしいので先に入れる
1 |
$ sudo yum install -y openssl-devel readline-devel zlib-devel |
[rubyのインストール]
1 |
$ rbenv install 2.4.2 |
[表示結果]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Downloading ruby-2.4.2.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.bz2 Installing ruby-2.4.2... BUILD FAILED (CentOS Linux 7 using ruby-build 20170914-19-gdcfa90c) Inspect or clean up the working tree at /tmp/ruby-build.20171209173001.19865 Results logged to /tmp/ruby-build.20171209173001.19865.log Last 10 log lines: checking for ruby... false checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking target system type... x86_64-pc-linux-gnu checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/tmp/ruby-build.20171209173001.19865/ruby-2.4.2': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details |
エラーが出てる!!!!!!!!
CentOS には gcc がインストールされないようです。なのでgccをインストール。
参考はコチラ→[CentOS] yum を使って gcc をインストールする。
[エラー解消方法]
1 |
$ sudo yum install gcc |
[再度rubyのインストール]
1 |
$ rbenv install 2.4.2 |
[表示結果]
1 2 3 4 |
Downloading ruby-2.4.2.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.bz2 Installing ruby-2.4.2... Installed ruby-2.4.2 to /home/uchida/.rbenv/versions/2.4.2 |
[バージョンの確認]
1 |
$ ruby -v |
[表示結果]
1 2 3 4 |
rbenv: ruby: command not found The `ruby' command exists in these Ruby versions: 2.4.2 |
[rbenvで2.4.2を指定]
1 |
$ rbenv global 2.4.2 |
[バージョンの確認]
1 |
$ ruby -v |
[表示結果]
1 |
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux] |
[.bash_profileに値を追加]
現在のディレクトリの位置によって.bash_profileの指定の仕方は変わる
1 |
$ echo 'rbenv global 2.4.2' >> ../../../.bash_profile |
[ファイルの確認]
1 |
$ cat /home/ユーザ名/.bash_profile |
[表示結果]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" rbenv global 2.4.2 |
railsのインストール
1 2 3 4 5 |
$ gem update --no-document $ gem cleanup $ gem install rails --no-document $ rails -v Rails 5.1.4 |
プロジェクト作成
プロジェクトを作成する。DBはmysqlを使用したいので、オプションで指定します。
[プロジェクト作成]
1 |
$ rails new online_shop -d mysql |
[表示結果]
1 2 3 4 5 6 7 |
create create README.md create Rakefile ︙ run bundle exec spring binstub --all * bin/rake: spring inserted * bin/rails: spring inserted |
[ディレクトリの移動]
online_shop
の箇所は rails new
で指定したプロジェクト名を指定してください。
1 |
$ cd online_shop |
[ファイルの編集]
1 |
$ vi Gemfile |
[ファイルの中身]
1 2 3 4 |
# gem 'therubyracer', platforms: :ruby ↓ // コメントを外す gem 'therubyracer', platforms: :ruby |
[bundleインストール]
1 |
$ bundle install |
[表示結果]
1 2 3 4 5 6 7 |
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`. Fetching gem metadata from https://rubygems.org/......... Fetching gem metadata from https://rubygems.org/. Resolving dependencies... ︙ Bundle complete! 17 Gemfile dependencies, 73 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. |
[Railsサーバを起動]
1 |
$ rails server -b 0.0.0.0 |
[表示結果]
1 2 3 4 5 6 7 8 9 |
=> Booting Puma => Rails 5.1.4 application starting in development => Run `rails server -h` for more startup options Puma starting in single mode... * Version 3.11.0 (ruby 2.4.2-p198), codename: Love Song * Min threads: 5, max threads: 5 * Environment: development * Listening on tcp://0.0.0.0:3000 Use Ctrl-C to stop |
ファイアウォールの設定(ポート開放)
[許可されているサービスやポートの一覧を表示]
1 2 3 |
# firewall-cmd --list-all --zone=public # firewall-cmd --list-services --zone=public # firewall-cmd --list-ports --zone=public |
[ポート開放]
1 |
# firewall-cmd --add-port=3000/tcp --zone=public --permanent |
[ファイアウォール再起動]
1 |
# firewall-cmd --reload |
以上で設定は終了なので、ブラウザからアクセスしてみます。
私の場合はhttp://☓☓☓.☓☓.☓☓☓.☓☓:3000/
↑開発環境によって変更して下さい。
ローカル開発環境で起動している場合はお使いのブラウザで
http://localhost:3000
下記のように表示されればOKです。
以上で一通りの作業が終了しました。
Ruby on Rails5でコントローラーからテンプレートの表示
Ruby on Rails5でモデルの作成とデータベースの利用
Ruby on Rails5でBootstrap4デザインにする
Ruby on Rails5で検索フォームと一体型になった検索ボタン作成方法
Ruby on Rails5でFontAwesomeを導入する方法(アイコンが使用可能)
Ruby on Rails5でBootstrap4のナビゲーションバーを使用する方法
Ruby on Rails5でBootstrap4のナビゲーションバーに画像(ロゴ)を設置
Ruby on Rails5でBootstrap4を使用しながらCSSを使用する
Ruby on Rails5でBootstrap4のドロップメニューをホバー表示する方法
Ruby on Rails5でBootstrap4のドロップメニューログインアイコンを作成
Ruby on Rails5でBootstrap4のドロップメニューでカートアイコンを作成
Ruby on Rails5でBootstrap4のドロップメニューで注文履歴を作成