Rails6環境構築をなるべくわかりやすく説明 Cloud9

Cloud9のサービスが良い。 理由は、ローカルPCだと、いろんなものを勉強しているときに、XAMP(ザンプ)やらVagrant(ベイグラント)いれて環境がおかしくなっていることが多い。 また新たに仮想環境入れるとまた環境が汚れてしまう可能性が高いです。

よってクラウド環境のCloud9がおすすめ。 https://aws.amazon.com/jp/cloud9/ f:id:happy_teeth_ago:20190917110234p:plain

登録方法については、指示通りにすればできるので、記載しません。 無料枠月750時間ありますので、初めの1年はどんなに利用しても、無料枠を超えることは無いと思います。

注意!Cloud9 Amazon LinuxにはRails6の環境構築はSQLite3のバージョンの縛りがあり、できません。2019.9現在 この記事では後半Ubuntuを利用して構築しています。

RailsはRubyで動いている。 当たり前の話ですね。 ただ、特定のRubyのバージョンがインストールされて、そのRubyに対してRailsがインストールされているという事を理解しておくのは大切です。 Rubyのバージョンが変わると、当然Railsも動きがおかしくなります。 Cloud9を起動してみると、Railsもデフォルトで入っていました。

f:id:happy_teeth_ago:20190917110409j:plain Rubyが2.6.3 Railsが5.0.0ですね。

ついでですからRails6の環境を構築していきましょう。 Rails6はRuby2.5以上が必要なようです。いま2.6.3でしたので問題ないですね。

環境周りのパッケージをまとめてinstallしなさい グループインストール

$ sudo yum groupinstall "Development Tools" こんな表示がされたら yを押します。 243M結構ありますね。 f:id:happy_teeth_ago:20190917110454j:plain

rvmでは2.6.3のバージョンを指定しなさい rvmとはRuby Version ManagerといってRubyのバージョンを管理するものです。開発環境に応じてRubyのバージョンを切り替えられます。

$ rvm use 2.6.3

返事 gems配下のruby-2.6.3を利用します。

Using /home/ec2-user/.rvm/gems/ruby-2.6.3

bundlerとrailsのgemは入れないといけない。 Railsも巨大なgemです。

gem install rails
gem install bundler

#railsのバージョン6.0を指定して、sample_appというRailsプロジェクトを作成しなさい
rails _6.0.0_ new sample_app

一応フォルダはできた f:id:happy_teeth_ago:20190917110637j:plain

けどエラー
調査したらwebpackerとyarnを入れないといけないようだ yarnはnodeで動いているのでまずnodeをインストール

$ sudo yum install nodejs


#公式サイトからyarnの最新版をとってきなさい
$curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo

//こんな感じで表示される
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   130  100   130    0     0   1171      0 --:--:-- --:--:-- --:--:--  1171
[yarn]
name=Yarn Repository
baseurl=https://dl.yarnpkg.com/rpm/
enabled=1
gpgcheck=1
gpgkey=https://dl.yarnpkg.com/rpm/pubkey.gpg


$ curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo

#yarnをインストールしなさい
$ sudo yum install yarn

#yarn バージョン確認
$ yarn -v
1.17.3

#package.jsonリスト化されている全ての依存関係をインストール
#railsのプロジェクトの中で実行すること
$ yarn install

怒られる

=> Run `rails server --help` for more startup options
RAILS_ENV=development environment is not defined in config/webpacker.yml, falling back to production environment

入れてなかった webpackerをインストール

rails webpacker:install

config/application.rbに追記

Cloud9はWEBサーバーのIP動的に割り振られる. よってconfigにIPを設定しておく config.application.rbに記載する

#最後がamazon.comになっているものは表示します
config.hosts << ".amazonaws.com"

けどrails sでエラー

sqliteが古いと怒られたのでgemを変更3.8以上へ

gem は1.4というのがポイント

Gemfile

# Use sqlite3 as the database for Active Record
gem 'sqlite3', '~> 1.4'

$ rails db:create

rails sは通ったけど、今度はSQLiteが古いと言われる

Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8.

調査したらAmazonLinuxだとSQLiteをupdateするのは難しそう。 https://stackoverflow.com/questions/56086629/error-your-version-of-sqlite-3-7-17-is-too-old-active-record-supports-sqlite

もう一度 Ubuntu Serverを選択し、環境を作り直す。 f:id:happy_teeth_ago:20190917111030j:plain

gem install rails gem install bunlder rails 6.0.0 new sample_app

yarnをインストールするためにnodeをインストール

sudo apt-get install nodejs

yarnのインストール まずファイル

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

$ sudo apt-get update && sudo apt-get install yarn

$ yarn -v 1.17.3 入ったようなのでpathを設定 公式サイトに従う https://yarnpkg.com/lang/en/docs/install/#debian-stable

vi ~/.bash_profile

export PATH="$PATH:/opt/yarn-1.71.3/bin"

コンソールをログアウトしてから再度ログイン $ yarn --version 1.17.3 //入っている

yarnが入ったので、今度はwebpackerもインストールされるはず

$ rails webpacker:install
Done in 7.46s.
Webpacker successfully installed 🎉 🍰
//okだ

rails s

RAils6環境完成 f:id:happy_teeth_ago:20190917110959j:plain

今回のポイントは、sqlite3の関係で、Amazon Linuxには環境構築できないと言うことだった。 Ubuntu を利用した。

RAils6からはyarnが必要です。 yarnはJavaScriptのパッケージを管理するものです。 Facebook,Googleなどが開発しています。 当然言語はnode.jsです。 なのでyarnのインストールにはnodeのインストールが必要です。 nodeのインストールはNVM(ノード・バージョン・マネージャ)を利用します。

参考サイト https://yarnpkg.com/lang/en/docs/install/#debian-stable