4年ぶりにRuby on Railsで開発しようと思ったので、環境構築から始めました。
2020年目標らしいRubyの3倍にと互換性を保とうというのに期待して。
あと、いずれはフロントはvue.jsでSPAに移行するのが良さそうだが、最初はレールに乗った方が効率的だろうね。
色々、変わってるのでメモしておきます。

Homebrewインストール

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
($ brew update)
$ brew doctor
$ sudo mkdir /usr/local/sbin
$ sudo chown `whoami`:admin /usr/local/sbin
$ brew -v
Homebrew 2.2.0
Homebrew/homebrew-core (git revision df7bd; last commit 2019-12-04)

Node.jsインストール

$ brew install nvm
$ mkdir ~/.nvm
$ vi ~/.bash_profile
### START ###
export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"
### END ###
$ source ~/.bash_profile
$ nvm --version
0.34.0
$ nvm ls-remote | grep 'Latest LTS'
v4.9.1 (Latest LTS: Argon)
v6.17.1 (Latest LTS: Boron)
v8.16.2 (Latest LTS: Carbon)
v10.17.0 (Latest LTS: Dubnium)
v12.13.1 (Latest LTS: Erbium)
$ nvm install 12.13.1
($ nvm use 12.13.1)
$ nvm ls
-> v12.13.1
$ node -v
v12.13.1

Rubyインストール

$ brew install gpg2
$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ 'curl' -sSL https://get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm
(or $ rvm get latest)
$ rvm -v
> rvm 1.29.9 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
$ rvm list known
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.6]
[ruby-]2.5[.5]
[ruby-]2.6[.3]
[ruby-]2.7[.0-preview1]
$ rvm install 2.6
($ rvm use 2.6 --default)
$ rvm list
=* ruby-2.6.3 [ x86_64 ]
$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

Railsインストール

$ gem install rails
($ gem update rails)
$ rails -v
Rails 6.0.1

yarnインストール

$ brew install yarn
($ brew upgrade yarn)
$ yarn -v
1.19.2

Railsプロジェクト作成

$ mkdir -p ~/workspace
$ cd ~/workspace
$ rails new rails-app-origin
$ cd rails-app-origin
$ rails webpacker:install
$ vi config/webpacker.yml
#  check_yarn_integrity: true
$ rails s
-> http://localhost:3000/

おまけ

RSpec追加

$ vi Gemfile
group :development, :test do
〜省略〜
  # Use RSpec
  gem 'rspec-rails'
  gem 'spring-commands-rspec'
end
$ bundle install
$ rails g rspec:install
$ spring binstub rspec
$ rspec

YARD追加

$ vi Gemfile
group :development do
〜省略〜
  # Use YARD
  gem 'guard-yard'
  gem 'redcarpet'
  gem 'yard'
end
$ bundle install
$ touch .yardopts
$ vi .gitignore
desktop.ini
Thumbs.db
.DS_Store
.idea/**/workspace.xml
.idea/**/tasks.xml
/nbproject/private/
/doc/*
$ yard
$ open doc/index.html
$ yard server --reload
-> http://localhost:8808/

RuboCop追加

$ vi Gemfile
group :development, :test do
〜省略〜
  # Use RuboCop
  gem 'rubocop'
  gem 'rubocop-rails'
end
$ bundle install
$ rubocop --auto-gen-config
$ rubocop -P
($ rubocop -a)

Brakeman追加

$ vi Gemfile
group :development, :test do
〜省略〜
  # Use Brakeman
  gem 'brakeman'
end
$ bundle install
$ touch config/brakeman.yml
$ brakeman

CarrierWave追加

$ vi Gemfile
# Use CarrierWave/MiniMagick
gem 'carrierwave'
gem 'mini_magick'
$ bundle install
$ brew install imagemagick
$ magick -version
Version: ImageMagick 7.0.8-12 Q16 x86_64 2018-09-23 https://imagemagick.org
$ rails g uploader image
      create  app/uploaders/image_uploader.rb
$ vi app/uploaders/image_uploader.rb
  # include CarrierWave::MiniMagick
↓
  include CarrierWave::MiniMagick

Tips: 「def filename」でファイル名に日時を入れると、1処理で複数回呼び出されるので、ファイルが参照できなくなる時があります。下記が代替案。
How to: Create random and unique filenames for all versioned files

Macでrails newしてrails sで動かすまで” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です