こんにちは。
4児パパです。
最近Dive Into Codeの代表の野呂さんの活躍ぶりをみて、特にアフリカへの貢献は心から凄いなぁと思っている。
DICで学び、卒業してもなお”繋がり”を持てるのはこれからの人生を変える事もあったりする。
フィリピンと日本の架け橋となるコミュニティサイトを作って、少しでも貢献しつつ人生の方向性を変えようと思っています。
今日からRailsでフィリピンと日本を繋ぐコミュニティサイト作り始めます🙋🏻♂️ Rails6で新開発して、Rubyのバージョンも2.6に上げていきます💻 ブログに関しては、少し更新の頻度が下がりますがサイト内と移行した過去記事を修正しつつ、プログラミング関係の投稿を増やしていきます☝️
Railsのバージョンのアップデートは早く、常にキャッチアップする為のアンテナは必要。
目次
Rails6で開発する為の準備
私が3年前Dive Into CodeでRailsを学んでいた時はまだRails4シーリズで、ちょうど5になりかけるタイミングでした。なので後半の課題はまだRails5は情報が少ないので、Rails4で制作するようとのことだったけど、あえてRails5にバージョンをあげて制作していました。
Rails5 belongs_toを設定において、nilで保存できなくなる?belongs_toのrequiredがデフォルトでtrueに。
もろ新しくなったアソシエーションではまってしまいました。苦笑
RailsとRubyのバージョンの依存性
公式ではRails6以降はRuby2.5を推奨しています。
こちらを参照してください。
Railsはが新しくリリースされた場合は、Rubyのバージョンも新しい安定したバージョンでの開発をお勧めします。じゃないとどんどん古いのが淘汰されてキャッチアップしていくのが大変で手間になるので。
Rubyのバージョン確認
まずシステム(PCでのバージョン)でのRubyのバージョンを確認します。
$ruby --version
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16]
この様に出ます。
そして次にrbevにインストールされているRubyのバージョンを確認します。
$ rbenv versions
system
2.2.3
2.3.0
2.3.1
* 2.5.0 (set by /Users/4kids/.rbenv/version)
Rails6は2.5以上を目指す
まずRubyのインストールできるバージョンの確認をしましょう。
$rbenv install -l
現代段階で最新のrubyは”2.7.0-dev”がありましたが、2.6.5を私は選びました。
極力Railsの新しいバージョンには新しいRubyのバージョンを。
Brewの更新も忘れずに
実はバージョンのリストを見ようといくらコマンドしても、最新版が出なくて少しだけハマってしまいました。
$rbenv install -l
このコマンドで新しいバージョンが出なかったら、Brewのアップデートとアップグレードも必要な面があるので、コマンドしてみてください。
$brew update && brew upgrade ruby-build
ただここで更新した時に、マックOSを更新したばかりですと、
”xcode-select –install”しろと怒られるかも知れません。
ちなみに私は怒られたので、
$xcode-select --install
xcodeのコマンドをして解決でした。
Ruby最新版のインストール
では早速Rubyの最新版をインストールしていきましょう。
$rbenv install 2.6.5
数字の場所は自分の好きなバージョンを入れれば、そのバージョンをインストールしてくれます。
ローカル内のバージョン指定
複数あるRubyをローカル環境内しようするバージョンの指定をします。
$ rbenv versions
system
2.2.3
2.3.0
2.3.1
* 2.5.0(set by /Users/username/Rails6_project/project_name/.ruby-version)
2.6.5
この中で2.6.5に選定します。
$ rbenv local 2.6.5
$ rbenv rehash
これでRubyの段階は終えました。次はRailsについてですね。
Rails6のインストール
年々新しくなって追加されるものと、削除されていくものがあります。
今回Rails6.0の注目的な機能は、
- Action Mailbox
- Action Text
この二つ以外にもまだまだあるのですが、紹介する機会がありましたら、記事にしたいと思います。
インストールされているRailsのバージョンの確認
まず既存のrailsのどのバージョンがインストールされているかの確認。
$ gem list rails
*** LOCAL GEMS ***
rails (6.0.0, 5.1.4)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.3.0, 1.0.3)
sprockets-rails (3.2.1)
この様に確認することができます。
$ rails --version
Rails 6.0.0
Rails 6.0.0になる様に目指します。
最新のrailsのバージョンのインストール
最新バージョンのRailsをインストール。
$ gem instal rails
ディレクトリはどこでも大丈夫ですね。
このインストールのコマンドはgemが最新で入ってきますが、特定のバージョンの指定もする事ができます。
$ gem install rails --version="5.1.4"
特手のバージョンを指定してインストール
$ gem install rails --version="~>5.1.0"
5.1.x系列のバージョンで最新をインストール
$ gem install rails --version="~>5.0"
5系内のバージョンの最新をインストールします。
以上Railsのインストールが完了します。
次は実際にrails6での立ち上げまでを紹介します。
Ruby&Rails学習の書籍紹介
ゼロからわかる Ruby 超入門 (かんたんIT基礎講座)は、イラストでの解説もありわかりやすいです。また構文なども十分に説明されていて学習しやすい内容となっています。
上記三冊でRubyとRailsに関わる本で、十分に学べます。
新規でrailsファイルを作るときは、”常に”この手順で

下準備が整ったのでいよいよ上記のrails6そしてrubyは2.6.5での開発ができるとこまで紹介していきます。
ここの手順が割と大切です。プログラミングを未経験から学んでいた私は常に構築を含め、ローカル環境で悩まされていました。
ファイルをいくつか作り続けると実際にファイルとのconflictで、相当悩みました。解決するにあたり、最初の立ち上げが重要だなと調べているうちに気づきましたので、備忘録も兼ねてこの記事に残しておきます。
新規ファイルを作成する時は常にこの手順で行いましょう。他のバージョン違いの案件も抱えているのならなおさら。
rails6プロジェクトファイルを作成
まず先にrails6用のファイルを作成します。
自分が作成したいディレクトまで進み、
$ mkdir projectname
ここでは適当にprojectnameにしておきます。
一時的なファイルでrailsをローカルセット
rbenv内だけで有効なrubyのbundlerをインストールします。
$rbenv exec gem install bundler
$gem install bundlerでもいいのですが、システムまで干渉してしまうため、割と面倒です。ですので、”rbenv exec”でrbenv内のインストールにします。
$ rbenv rehash
インストールしたbundlerの定義をします。
ローカルディレクトリでRailsファイルを作るためのrailsをインストール
ちょっとここから混乱してしまいますが、ローカル環境でなおかつ他のrailsファイルとconflictしないために、railsプロジェクトファイルの為のローカルへのrailsを一時的にインストールします。
$ rbenv exec bundle init
ここでGemfileが作成されます。
ここでRailsのバージョン指定をする事ができるのですが、今回は現時点の最新版でいきたいので、何も触らずにいきます。
$ rbenv exec bundle install --path vendor/bundle
railsプロジェクトを作成
先ほどまで作ったファイルへrailsファイルを作成していきます。
$bundle exec rails new test1 --skip-bundle
Gemfileを含めローカルへRailsをインストールする為に作成されたファイル達を削除していきます。ここではrails newで立ち上げた”test1″以外のファイルを消します。
$ rm -f Gemfile
$ rm -f Gemfile.lock
$ rm -rf .bundle
$ rm -rf vendor/bundle
Railsプロジェクトのbundle install
rails newファイルで作成したdirectまで進みます。
$ cd test1
gemのインストールをします。
$ bundle install –-path vendor/bundle
サーバーを立ち上げて完了
Rails6からは、yarnとwebpackerのインストールが必要です。
ここではyarnについてですが、無事にインストールされていた為割愛させて頂きます。
webpackerインストール
rails サーバーを立ち上げる際に”webpacker”のインストールをしてくださいと怒られました。なので、指示されたようコマンドします。
$rails webpacker:install
サーバーの立ち上げ
サーバーを立ち上げて、確認してみましょう。
$ bundle exec rails s

これでrails6での開発が可能になりました。
この時点でgit initでgithubへ
新しいプロジェクトのスタートなので、早めにgitにあげましょう。
対象ファイルとしてgit initを。
$git init
Reinitialized existing Git repository in /Users/username/Rails6_project/projectname/.git/
.gitignoreもセッテイングしておこう
余計なコードがアップされないよう、.gitignoreも書いておく。
Rubymineで開発している為、人によっては必要のないものもありますので、抜粋してくださいね。
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'
*.rbc
capybara-*.html
.rspec
/log
/tmp
/db/*.sqlite3*
/public/system
/coverage/
/spec/tmp
**.orig
rerun.txt
pickle-email-*.html
.DS_Store
config/initializers/secret_token.rb
config/secrets.yml
/.env
# Ignore bundler config.
/.bundle
## Environment normalization:
/vendor/bundle
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
.rvmrc
# if using bower-rails ignore default bower_components path bower.json files
/vendor/assets/bower_components
*.bowerrc
bower.json
# Ignore pow environment settings
.powenv
# Ignore all logfiles and tempfiles.
/log/*
/tmp/*
!/log/.keep
!/tmp/.keep
# Ignore uploaded files in development.
/storage/*
!/storage/.keep
/public/assets
.byebug_history
# Ignore master key for decrypting credentials and more.
/config/master.key
/public/packs
/public/packs-test
/node_modules
/yarn-error.log
yarn-debug.log*
.yarn-integrity
## Editor settings:
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
*.iml
.idea/
*.ipr
*.iws
# vim
*.sw*
プログラミングを学ぶならDive Into Code
理系の大学を出ていなくとも、エンジニアの世界に入っていける恵まれた良い世の中になってきました。
プログラミングを学び、エンジニアの世界へ転職活動するのであれば、Dive Into Codeは間違いないスクールです。学び以上の事を教えてくれます。
卒業しても教材は半永久的に閲覧する事が可能ですし、そして同期はもちろん卒業生などDive Into Codeで学んでいた人の繋がれるコミュニティがとても強いです。
薄っぺらいサービスはしていないのは、実体験をもとに私が強くお伝えする事ができます。

最後に
新しいRailsプロジェクトを自分のローカルで立ち上げる時いつも、環境設定で悩んでいました。実際にコーディングできるまで時間がかかってしまったりして、時間をロスしていましたが、こうやって備忘録として残しておくのも、良いですね。他のエンジニアの方々にも参考にして頂けたら、心より嬉しい限りです。
私はもう30代半ばになってしまいましたが、まだまだチャレンジしている最中です。試したい事がたくさんあります。Railsも触り続けたいですし、ブログで発信もしていたい。
そして家事や育児にも手を抜くかずですね。(ここを手を抜くと、夫婦げんかや子供たちにも嫌な思いをさせ、家庭崩壊へ繋がるので。)
人生伸びしろしかない!!!
4児パパ
コメントを残す